繁体   English   中英

未找到 Linux shell 脚本,但它确实存在

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM