今天写了一个shell脚本,然后执行的时候总是报错。
错误如下:
- -bash: ./ftrace_function.sh: /bin/bash^M: bad interpreter: No such file or directory
可以文件明明存在的。
ftrace_function.sh这个文件,我是在虚拟机中生成的,但是通过pc端在notepad++上面进行编辑。
然后在linux环境下执行时出现的错误。
出现这个错误的原因是以为在pc端编辑后的文件格式为dos格式。而linux只能执行格式为unix格式的脚本。
修改文件格式的方法如下:
方法一:通过vim编辑器进行修改
我们可以通过vim来查看文件的格式。
1). vim ftrace_function.sh
2).set ff(通过该命令查看文件的格式,可以看到文件格式为dos)
3).set ff=unix(通过该命令将文件的格式设置为unix)
可以再通过set ff命令查看或确认是否设置成功。
方法二:通过命令dos2unix进行修改
dos2unix ftrace_function.sh