问题描述:在练习shell脚本编程时,先在windos下创建了.sh文件,复制到centos下,使用
chmod a+x 文件名
命令后,再使用
./文件名.sh
提示/bin/bash^M: bad interpreter: No such file or directory
原因:
在win下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,会多出来一个\r,这样会出现错误
解决方法:
第一种:
使用如下命令,替换\r为空字符
sed -i 's/\r$//' 文件名.sh
第二种:
使用vi编辑器进入文件
vi 文件名.sh
使用
set ff=unix
最后用wq保存退出,成功运行