执行Shell脚本出错-bash xxx binbash bad interpreter No such file or directory
执行Shell脚本出错-bash xxx binbash bad interpreter No such file or directory
01 问题
在执行shell脚本时提示出现:”-bash: xxx: /bin/bash^M: bad interpreter: No such file or directory” 错误
02 原因分析
主要原因是test.sh 在windows环境上创建和编辑,编辑完成后再上传到Linux操作系统中,在执行。sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。
03 解决方法
首先用vi或者vim命令打开shell文件
在命令模式中输入:set ff,回车后可以看到文件的格式为dos
1
2:set ff
fileformat=dos修改文件格式为unix有三种方法修改
方法1:打开文件使用vi或vim命令修改,命令如下:
1
:set ff=unix
执行完后再通过“:set ff”命令查看文件格式,结果如下:
1
fileformat=unix
方法2:直接使用dos2unix命令修改;命令如下:
1
dos2unix xxx.sh
其中xxx为shell文件名
修改完再次执行shell文件就能正确运行了。方法3:直接执行
1
sed -i "s/\r//" a.sh
来转化, 然后就可以执行
./a.sh
运行脚本了。
执行Shell脚本出错-bash xxx binbash bad interpreter No such file or directory
https://hesc.info/8b82cfa2ec2e/