繁体   English   中英

Bash 脚本收到“没有这样的文件或目录”错误?

[英]Bash script getting "No such file or directory" error?

我有一个名为args.sh的 bash 脚本。 它只是应该打印出从命令行传入的参数。

#!/bin/bash 
echo "Argument passed in: $1"

我试过chmod +x args.sh但我得到-bash: ./args: No such file or directory 我在 mac 上做这个。

如何通过调用./args (不带 .sh 文件扩展名)来构建可执行文件来调用脚本?

非常感谢任何帮助,谢谢。

linux/unix 上的可执行文件没有扩展。 因此,如果您将文件命名为“args.sh”,那么您的可执行文件就是“args.sh”。 如果你想用“./args”调用它,将它重命名为“args”。

然后内核通过查看文件开头的“魔术字符串”来确定如何加载可执行文件。 在这种情况下,魔术字符串是“#!” (也称为“shebang”)它告诉内核使用该行其余部分的可执行文件来运行此脚本,在您的情况下为“/bin/bash”。 其他魔法字符串会告诉内核它是 ELF 格式或 a.out 格式的二进制文件,或者你有什么,以便内核知道如何加载它们,或者根本无法加载它们(例如,如果它是 RISC /6000 适用于 AIX 的可执行文件)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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