好的,突然发生了一些有趣的事情。这个测试
for i in `cat /mnt/usb/liste.txt `; do [ -f /mnt/usb/lsdvd.xml/$i ] || echo $i; done
曾经能够正常工作(对于list.txt文件中的每个条目,尝试查找相应的目录,如果未找到则打印名称),并且曾经会显示缺失目录的名称。现在这个命令却产生了以下结果
echo: command not found
echo: command not found
echo: command not found
(...)
我尝试使用[[...]]和"test"代替"[..]",但都没有用。
有什么想法,可能是在我不注意的时候发生了什么问题:)
谢谢, 基督徒。
编辑(设置 -x 输出):
(...)
+ 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 ']'
+ $'\302\240echo' THE_REBOUND
+ '[' -x /usr/lib/command-not-found ']'
+ /usr/bin/python /usr/lib/command-not-found -- $'\302\240echo'
echo: command not found
+ return 127
(...)
$i
吗? - Yannick Loiseauechooooo $1; done
,会出现错误echooooo: command not found
吗?当我在 bash 命令提示符下输入垃圾时,就会出现“command not found”错误。如果你将其替换为/bin/echo
呢? - David Yawset -x
,并观察 shell 执行的每个命令。 - bobbogo