当前位置: 首页 > Linux

linux解决“-bin-bash^M-badinterpreter”

时间:2023-04-06 05:48:17 Linux

linux解决“/bin/bash^M:badinterpreter”原因:在执行shell脚本时,提示这样的错误,主要是因为shell脚本文件是在dos格式下,即每行的结尾都标有\r\n,而unix格式的文件结尾标有\n解决方法:(1)使用linux命令dos2unixfilename直接转换文件到unix格式;(2)使用sed命令sed-i"s/\r//"filename或sed-i"s/^M//"filename直接将结束符替换为unix格式;(3)vifilename打开文件,执行:setff=unix设置文件为unix,然后执行:wq保存为unix格式。有几种方法可以检查脚本文件是dos格式还是unix格式。(1)cat-Afilename从显示结果可以判断,dos格式的文件结尾是^M$,unix格式的文件结尾是$;(2)od-tx1filename如果在输出内容字符中看到0d0a,则文件为dos格式,如果只有0a,则为unix格式;(3)vifilename打开文件,执行:setff,如果文件是dos格式,则显示为fileformat=dos,如果是unxi,则显示为fileformat=unix。