[Linux] Problème d'execution de script "-eq&q
Résolu
armand
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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
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
9 réponses
-
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 ;-)
-
Salut,
Peux-tu afficher le script s'il te plaît et ta version de bash (bash --version) et celle de ta distrib.
-
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
-
-
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 ? -
Quelle est la première ligne du script ? #!/usr/bin/bash ou quelque chose du genre ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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... -
Si, dans ton cas, SILENTMODE est indéfini, Il y a erreur de syntaxe, la ligne devenant [ -eq 0 ] && echo "$@"
-
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 -
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]$;-))
-
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