bash test rendements “echo: command not found”

Ok, quelque chose de drôle qui arrive tout d'un coup. Ce test

for i in `cat /mnt/usb/liste.txt `; do [ -f /mnt/usb/lsdvd.xml/$i ] || echo $i; done

utilisées pour fonctionner correctement (pour chaque entrée dans le fichier liste.txt essayez de trouver un répertoire correspondant, imprimer le nom si non trouvé) et utilisé pour donner les noms de répertoires manquants. Maintenant cette commande rendements

 echo: command not found
 echo: command not found
 echo: command not found
(...)

J'ai essayé à l'aide de [[...]] et "test" au lieu de " [ .. ]", mais en vain.

Aucune idées de ce qu'il serait arrivé avec mon bien-aimé bash alors que je n'étais pas à la recherche 🙂 ?

Grâce,
Christian.

Modifier (x sortie):

(...)
+ for i in '`cat /mnt/usb/liste.txt`'
+ '[' -f /mnt/usb/lsdvd.xml/THE_GHOST_WRITER.lsdvd.xml ']'
+ for i in '`cat /mnt/usb/liste.txt`'
+ '[' -f /mnt/usb/lsdvd.xml/THE_IMAGINARIUM_OF_DOCTOR_PARNASSUS.lsdvd.xml ']'
+ for i in '`cat /mnt/usb/liste.txt`'
+ '[' -f /mnt/usb/lsdvd.xml/THE_INFORMANT.lsdvd.xml ']'
+ for i in '`cat /mnt/usb/liste.txt`'
+ '[' -f /mnt/usb/lsdvd.xml/THE_INTERNATIONAL.lsdvd.xml ']'
+ for i in '`cat /mnt/usb/liste.txt`'
+ '[' -f /mnt/usb/lsdvd.xml/THE_MEN_WHO_STARE_AT_GOATS.lsdvd.xml ']'
+ for i in '`cat /mnt/usb/liste.txt`'
+ '[' -f /mnt/usb/lsdvd.xml/THE_OTHER_MAN.lsdvd.xml ']'
+ for i in '`cat /mnt/usb/liste.txt`'
+ '[' -f /mnt/usb/lsdvd.xml/THE_QUEEN.lsdvd.xml ']'
+ for i in '`cat /mnt/usb/liste.txt`'
+ '[' -f /mnt/usb/lsdvd.xml/THE_READER.lsdvd.xml ']'
+ for i in '`cat /mnt/usb/liste.txt`'
+ '[' -f /mnt/usb/lsdvd.xml/THE_REBOUND.lsdvd.xml ']'
+ $'20echo' THE_REBOUND
+ '[' -x /usr/lib/command-not-found ']'
+ /usr/bin/python /usr/lib/command-not-found -- $'20echo'
 echo: command not found
+ return 127
(...)
avez-vous essayez de double-quote $i ?
Si vous remplacez la fin de la ligne avec echooooo $1; done, donne-t-il une erreur echooooo: command not found? Que "command not found" erreur est ce que j'obtiens quand j'type de courrier indésirable à une invite de commande de bash. Que faire si vous la remplacez par /bin/echo?
Ajouter set -x vers le haut de votre script et de regarder chaque commande que le shell exécute.
Mes conclusions: Double citant $i: en vain, même erreur. echoooo: command not found.

OriginalL'auteur Christian | 2011-03-21