【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文件的类型。
【linux】Linux 执行.sh报错:bad interpreter: No such file or directory
是text,而加过这一行以后,显示为脚本。
【linux】Linux 执行.sh报错:bad interpreter: No such file or directory

至于ll,文件名带星号,意思是这个文件是可执行的,其实文件本身名字是没有*的,只是ll输出的时候带上了。

DOS文件格式?

以上是 【linux】Linux 执行.sh报错:bad interpreter: No such file or directory 的全部内容, 来源链接: utcz.com/a/85896.html

回到顶部