通常我们在执行shell脚本的时候会遇到类似下面的错误,而事实上脚本没有任何问题,很多人会卡在这一步很久,其实有可能是编码导致的回车符不一致引起的:
ERROR:
$' ': command not found
^M: bad interpreter
No such file or directory
这种情况有可能发生在脚本在windows环境下编写或修改,然后上传到Linux服务器执行时报错,可以使用dos2unix命令将DOS编码转为UNIX编码,同样也可以使用unix2dos命令将UNIX编码转为DOS编码。
类似的还有 mac2unix, unix2mac 适用于mac系统和unix系统编码转换;
例子:
wyk_csdh.sh
这个shell在windows环境下编辑,上传到linux环境执行后会报错:
![]()
使用cat -v命令可以看到非打印的特殊字符:

使用dos2unix转为unix编码:

使用vim命令转换编码:

希望本文对你有帮助,请点个赞鼓励一下作者吧~ 谢谢!
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/1352.html