我创建了一个shell脚本" / etc / aaa"在Openwrt上,它包含以下代码: #!/ bin / sh的 echo" Hello World!"
我还使用此命令来确保适当的权限:
chmod 777 /etc/aaa
使用以下任何一个命令执行
sh /etc/aaa
或
ash /etc/aaa
效果很好并打印" Hello World"。当我尝试使用此命令执行它时会发生此问题:
/etc/aaa
我收到此错误:
-ash: /etc/aaa: not found
任何人都可以解释为什么会这样吗?我在这里缺少什么?
答案 0 :(得分:5)
感谢Charles Duffy的评论。这真的是CR LF的问题。 虽然我在我的linux虚拟机中打开文件,因为它已经在Windows中进行了修改。所以enven在linux中,我使用的崇高文本编辑器会认为它是一个Windows文件并使用crlf作为换行结束。
所以,只需用lf替换crlf,问题就解决了。
答案 1 :(得分:0)
还值得检查一下您的shebang是否正确:#!/ bin / sh或#!/ bin / bash