linux执行Shell脚本文件报错:-bash: ./xxx.sh: /bin/bash^M: bad interpreter: No such file or directory
原因是xxx.sh脚本文件是在其他系统环境下编辑的,然后在linux系统上执行,因为linux只能执行格式为unix格式的脚本,而xxx.sh是在其他系统环境下编辑的,该格式可能不是unix格式,所以报这样的错误。
我们假定xxx.sh文件是在windows系统环境下编辑的,然后文件上传到linux环境下执行。
可以通过vim命令打开xxx.sh脚本文件,然后在命令模式中使用 :set ff 命令,就能看到这样的字段:fileformat=doc
如果想该脚本文件在linux环境上正常运行,则需要把fileformat设置为Linux认可的执行格式unix,可以在vim编辑中使用命令模式:set ff=unix 命令修改。
修改完后保存退出vim编辑,然后再执行该脚本文件就不会报这样的错误了。