当我尝试.sh
使用./test.sh
我收到如下错误
[test@tester unix_scripts]$ ./test.sh
: No such file or directory
[test@tester unix_scripts]$
我还设置了文件的权限chmod 777 test.sh
还是同样的错误
有谁能够帮助我?
答案1
实际上,问题在于我使用的脚本是在 dos 中创建的,因此我使用 dos2unix 命令将脚本转换为 unix。感谢大家的宝贵帮助。
答案2
您可能忘记在脚本的第一行添加:
#!/bin/bash
例如:
#!/bin/bash
echo Hello World
如果您尝试使用像上面的 hello world 示例这样的简单 shell 脚本,它会起作用吗?
顺便问一下:您确定 SELinux 上下文吗?
: 说什么getenforce
?
: 说什么ls -l test.sh
?
我最好的建议是先尝试一个非常简单的脚本,这样您就可以检查每个环境和上下文行为。
答案3
再次检查您是否在正确的目录中(您可以通过输入“ls”查看目录中的内容),并且文件的名称是“test.sh”。您可能还想尝试:
[test@tester unix_scripts]$ sh test.sh
答案4
是的,应该是#!(砰的一声!):)
您能否发布在脚本所在目录中执行以下命令的结果?
ls -l
cat test.sh