Bonsoir tout le monde, nous sommes impatients d'exécuter un script shell sur une Ubuntu 8.04, mais il renvoie une erreur particulière:Syntaxe shell scripting? « Mot inattendu » getopts
line 14: Word unexpected (expecting "in")
Voici donc un aperçu du script:
#!/bin/sh
#Declaration of shell parameters
A3REP=""
A3FILE=""
A3HELP=""
A3PORT="80"
A3PORTTC="80"
A3IP400=""
A3USER=""
A3PWD=""
A3TASK=""
while getopts d:f:h:p:i:u:w:t:n: option
do
case $option in
d)
A3REP="$OPTARG"
;;
f)
A3FILE="$OPTARG"
;;
p)
A3PORT="$OPTARG"
;;
t)
A3PORTTC="$OPTARG"
;;
i)
A3IP400="$OPTARG"
;;
u)
A3USER="$OPTARG"
;;
w)
A3PWD="$OPTARG"
;;
n)
A3TASK="$OPTARG"
;;
h)
A3HELP="aide"
;;
esac
done
Problem solved: le script était en dos:
insérer la ligne suivante dans d2u.sh:
#!/bin/bash
cat $1|tr -d '\015'
et maintenant Execute:
chmod +x d2u.sh
maintenant le script est prêt à fonctionner.
Essayez ce script en tapant la commande suivante:
sh d2u.sh filename.sh > filename2.sh
et le script est pas plus dos.
Merci à tous! :)
La syntaxe semble bien. Peut-être que vos fins de ligne sont fubar. Fournissez un vidage hexadécimal des lignes 13-15. –