Rechercher : dans
Par :

[Linux] Problème d'execution de script "-eq&q

Dernière réponse le 15 mar 2007 à 18:59:46 armand, le 15 mar 2007 à 10:28:33 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un progiciel que je dois installer via un script d'installation, simplement il y a des erreures dans le script : il ne reconnait pas la comparateur "-eq".

J'essai de l'installer avec sh ou bash ça revient au même, alors que certains de mes collègues arrivent très bien à l'installer avec la même distribution.

Que manque-t-il ?

Merci

Armand

Configuration: Windows XP
Firefox 2.0.0.2

Meilleures réponses pour « [Linux] Problème d'execution de script " eq&q » dans :
Script d'administration Linux Voir Script d'administration Linux Ce script entièrement rédigé pour ceux qui souhaitent approfondir leurs connaissances en scripting Linux. Vous pouvez reprendre des briques de code, l'améliorer, il est là pour ça ! NOTA : Il se peut qu'il...
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha-Bang Premièrement,...
Linux - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système...

1

jipicy, le 15 mar 2007 à 10:49:39

Salut,

Peux-tu afficher le script s'il te plaît et ta version de bash (bash --version) et celle de ta distrib.
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

armand, le 15 mar 2007 à 10:57:01

Merci de me répondre

Voici ma version de Bash :

GNU bash, version 3.00.0(1)-release (i586-suse-linux)
Copyright (C) 2004 Free Software Foundation, Inc.

Ma distrib est une 9.2

Quand à mon script il fait 13000 Lignes :s Donc je suis pas sur que ce soit possible.

Voilà une des fonctions

lecho()
{
echo "$@" >> $LOGFILE
[ "${SILENTMODE}" -eq 0 ] && echo "$@"
}

Si ça peut t'aider

Merci

Armand

Répondre à armand

3

jipicy, le 15 mar 2007 à 11:06:17

Ok merci,

Tu peux toujours coller le script sur Cjoint et nous donner le lien.

Autre chose quelle est l'erreur exacte retournée par bash ? Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

4

dubcek, le 15 mar 2007 à 14:56:00

Quelle est la première ligne du script ? #!/usr/bin/bash ou quelque chose du genre ?

Répondre à dubcek

5

armand, le 15 mar 2007 à 16:06:42

Non c'est #!/bin/sh

mais mon collègue y arrive avec le même script dans les même conditions

Je comprend pas trop...

Répondre à armand

6

jipicy, le 15 mar 2007 à 16:23:12

Que te renvoie les commandes suivantes :

readlink /bin/sh && ls -l /bin/sh
et je réitère ma question précédente : "Quelle est l'erreur exacte retournée par sh ? "..

Merci ;-)
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

7

dubcek, le 15 mar 2007 à 16:24:22

Si, dans ton cas, SILENTMODE est indéfini, Il y a erreur de syntaxe, la ligne devenant [ -eq 0 ] && echo "$@"

Répondre à dubcek

8

armand, le 15 mar 2007 à 16:45:20

Voici donc les messages d'erreurs exact :

./ar_install: line 7949: dlg_Ask_CDPATH: command not found
./ar_install: line 2520: [: -eq: unary operator expected
./ar_install: line 2530: [: -eq: unary operator expected
./ar_install: line 2540: [: -eq: unary operator expected
./ar_install: line 2550: [: -eq: unary operator expected
./ar_install: line 229: [: -eq: unary operator expected


Pour la commande que tu m'as demandé de saisir il me renvie ceci :

srvsusears:/opt/ars/installArs/arsystem # readlink /bin/sh && ls -l /bin/sh
bash
lrwxrwxrwx 1 root root 4 2007-03-15 12:13 /bin/sh -> bash

Voilà j'espere que c'est ce que tu veux...

Merci de ton aide ;)

Armand

Répondre à armand

9

jipicy, le 15 mar 2007 à 16:55:15

Je te renvoie à ce que t'as dit "dubcek " dans son post #7...

Pour l'exemple :

[jp@MDK tmpfs]$ set 1 2 3
[jp@MDK tmpfs]$ echo "$@"
1 2 3
[jp@MDK tmpfs]$ var="0"
[jp@MDK tmpfs]$ [ ${var} -eq 0 ] && echo $@
1 2 3
[jp@MDK tmpfs]$ var=""
[jp@MDK tmpfs]$ [ ${var} -eq 0 ] && echo $@
-l: [: -eq: unary operator expected
[jp@MDK tmpfs]$   
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

10

armand, le 15 mar 2007 à 18:55:14

Effectivement ma valeure était nulle.

Il s'agit d'une faute de frappe de l'éditeur qui avai, dans son script, orthographié 'suse' de la manière suivante 'slse'

J'ai remonté le problème à l'éditeur

Merci de votre aide... Maintenant je misère avec ma base Oracle

Bonne Soirée

Encore Merci

Armand

Répondre à armand

11

armand, le 15 mar 2007 à 18:57:33

Comment on fait pour le mettre en status résolu ?

Armand

Répondre à armand

12

 jipicy, le 15 mar 2007 à 18:59:46

Ô racle Ô désespoir... ;-))

C'est fait ;-)) Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy
Collection CommentÇaMarche.net