[英]Linux shell script not found, but it does exist
我在 Openwrt 上创建了一个 shell 脚本“/etc/aaa”,其中包含以下代码:
#!/bin/sh
echo "Hello World!"
我还使用此命令来确保正确的权限:
chmod 777 /etc/aaa
使用以下 2 个命令中的任何一个执行时
sh /etc/aaa
要么
ash /etc/aaa
它运行良好并打印“Hello World”。 当我尝试使用以下命令执行它时出现问题:
/etc/aaa
我收到此错误的地方:
-ash: /etc/aaa: not found
谁能解释一下为什么会这样? 我在这里缺少什么?
感谢查尔斯·达菲的评论。 这真的是 CR LF 问题。 虽然我在我的 linux 虚拟机中打开了该文件,因为它已在 Windows 中进行了修改。 所以即使在 linux 中,我使用的 sublime 文本编辑器会认为它是一个 windows 文件并使用 crlf 作为换行符结尾。
所以,只需用 lf 替换 crlf ,问题就解决了。
还值得检查您的shebang是否正确:#!/bin/sh 或 #!/bin/bash
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.