【linux】Linux 执行.sh报错:bad interpreter: No such file or directory
在home目录下书写了一个简单的脚本,文件类型为.sh,修改过读写权限为全用户可写可执行,但是用./命令运行脚本提示永远是bad interpreter: No such file or directory; 改写了文件为 fileformat=unix
另在terminal下执行 ll 指令后 文件名字是 filename.sh *
回答
第一行加上
#!/bin/sh
试试看。首先要确定/bin/sh是存在的。从错误提示看是shell程序的路径不对
1.首先要确定路径是正确的,cd到文件当前目录;
2.其次要确定shell文件内容写的是正确的,怎样确定内容不正确的报错信息:可以把系统里正确的文件内容改错,然后执行看报什么错;
3.最后是虽然你确定文件权限没有问题,还是建议你用root用户执行下。
这个报错不一定是文件本身的问题,可能是脚本内容中的某一行命令出了问题,一般用bash -x filename.sh
方式调试。
这个问题,感觉是因为你没有写 Shebang ,也就是文件头缺少#!/bin/bash
没有这行的话,你用file
名去查看这个sh文件的类型。
是text,而加过这一行以后,显示为脚本。
至于ll,文件名带星号,意思是这个文件是可执行的,其实文件本身名字是没有*的,只是ll输出的时候带上了。
DOS文件格式?
以上是 【linux】Linux 执行.sh报错:bad interpreter: No such file or directory 的全部内容, 来源链接: utcz.com/a/85896.html