大佬教程收集整理的这篇文章主要介绍了bash测试产生“echo:command not found”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
for i in `cat /mnt/usb/liste.txt `; do [ -f /mnt/usb/lsdvd.xml/$i ] || echo $i; done
以前工作正常(对于文件中的每个条目,liste.txt尝试查找相应的目录,如果找不到则打印名称)并用于生成缺少的目录名称.现在这个命令产生了
echo: command not found echo: command not found echo: command not found (...)
我尝试使用[[…]]和“test”而不是“[..]”,但无济于事.
在我不看的时候,我心爱的bash可能发生了什么想法:)?
谢谢,
基督教.
编辑(设置-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 (...)
echo: command not found
领先的空间,而不是:
echo: command not found
set -x在打印时更加清晰:
$'\302\240echo' THE_REBOUND
对于non-breaking space,0302 0240是八进制UTF-8.
尝试删除|之间的空格并回显并键入一个正常空间.
有可能,该文件是在Mac上编辑的,如果您在Space的同时按Option,则可能会意外输入不间断的空格.
如果您正在使用Vim,则可以使用listchars option使非破坏空间更明显.例如:
set listchars+=nbsp:% list
有关更多想法,请参阅Making Vim highlight suspicious characters.
在Linux上,不间断的空间要么是Compose Space Space,要么是Ctrl Shift ua0,所以你可能不会意外地输入它.
对于任何感兴趣的人,可以使用UTF-8维基百科文章中的UTF-8 table手动将八进制字节转换为UTF-8.
但到目前为止,我发现最简单的方法是使用Python:
>>> import unicodedata >>> unicodedata.name('\302\240'.decode('utf-8')) 'NO-BREAK SPACE'
以上是大佬教程为你收集整理的bash测试产生“echo:command not found”全部内容,希望文章能够帮你解决bash测试产生“echo:command not found”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。