-bash: .sh : /bin/sh^M: bad interpreter: No such file or directory 错误排查

-bash: .sh : /bin/sh^M: bad interpreter: No such file or directory 错误排查

        今天部署新写的程序到centos linux上,结果执行脚本的时候一直报这个错误,找了很多资料,最后才解决。这里记下来,供以后参考。

        这个错误脚本文件的格式系统不兼容导致的。如果我们在window 环境编辑的shell文件,放到linux下执行,就会出现这种错误,原因是文件的换行符不同所致。window下有一个\r\n,在linux下显示为^M,而linux下是\r,所以需要替换。

        解决方法有两张,如果文件名称是test.sh:

       (1) 执行 dos2unix   (推荐

             dos2unix   test.sh

       (2) vim test.sh  -- 用vim打开文件

           :set ff=unix    -- 执行后,保存退出。

        再执行脚本,问题解决。

你可能感兴趣的:(linux)