«

SHELL中文字符删除

指尖二进制 • 1 年前 • 837 次点击 • BASH


解决运行shell报错

-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory

什么原因呢, 有理由怀疑是文件格式问题?我们用vim test.sh进入test.sh这个文件,然后在底部模式下,执行:set ff查看一下,结果发现fileformat=dos, 看看,果然是文件格式问题,那怎么解决呢?

解决办法

[root@admin .sh]# vim test.sh

执行 :e ++ff=unix %然后删除^M符号
保存退出就可以了

或者:

[root@admin .sh]# sed -i "s/\r//" test.sh

或者:

[root@admin .sh]# dos2unix test.sh

或者: vim test.sh打开文件,执行:set ff=unix设置文件为unix,然后执行:wq,保存成unix格式。

还没收到回复