#1 Le 15/08/2013, à 12:52
- l0f4r0
[RESOLU] Script bash "unexpected EOF"
Bonjour,
Une question toute bête mais je n'arrive vraiment pas à déceler le problème :
Script exercice10-4.sh :
#!/bin/bash
(( $# != 1 )) && { echo Vous devez rentrer exactement 1 seul paramètre ; exit 18 ; }
[ -e $1 ] || { echo Le fichier $1 n'existe pas ; exit 19 ; }
[ -f $1 ] && { chmod a+r $1 ; echo Droit en lecture ajouté à tout le monde sur le fichier $1 ; }
[ -d $1 ] && { chmod -R a-w $1 ; echo Droit en écriture retiré à tout le monde sur toute la sous-arborescence de $1 ; }
Exécution :
~/Desktop $ ./exercice10-4.sh PourExercice10-4
./exercice10-4.sh: line 3: unexpected EOF while looking for matching `''
./exercice10-4.sh: line 6: syntax error: unexpected end of file
Je précise que le dossier PourExercice10-4 existe bien.
Quelqu'un pourrait-il me dire où se situe mon erreur svp ?
Merci bcp !
Jean-Laurent
Dernière modification par l0f4r0 (Le 15/08/2013, à 14:51)
Hors ligne
#2 Le 15/08/2013, à 13:05
- MicP
Re : [RESOLU] Script bash "unexpected EOF"
...looking for matching `'' + ... n'ex... => il cherche l'appostrophe qui manque dans le message à envoyer avec la commande echo
Remplace donc la ligne N°3 par:
[ -e $1 ] || { echo "Le fichier $1 n'existe pas" ; exit 19 ; }
Hors ligne
#3 Le 15/08/2013, à 14:50
- l0f4r0
Re : [RESOLU] Script bash "unexpected EOF"
Merci bcp MicP, cela fonctionne désormais !
Je serai davantage vigilant aux quotes dorénavant.
Hors ligne
#4 Le 15/08/2013, à 18:55
- MicP
Re : [RESOLU] Script bash "unexpected EOF"
Impec...
Rassure toi, ça n'arrive jamais à ceux qui le font faire par d'autre.
Il y avait aussi la possibilité d'échapper le caractère apostrophe avec un backslash comme ça
[ -e $1 ] || { echo Le fichier $1 n\'existe pas ; exit 19 ; }
Hors ligne
#5 Le 17/08/2013, à 17:27
- l0f4r0
Re : [RESOLU] Script bash "unexpected EOF"
Merci encore !
Hors ligne