bash: ./vartest.sh: /bin/sh^M: bad interpreter: No

在开始解决此问题前,我们先回顾一下linux与windows之间换行的区别

window下一行结束是\r\n,linux下没有回车'\r',有换行,读完8个字符后是'\n'

经分析认为此文件是在window下写的,所以在每行后面会加个ctrl+m就是^M,所以后面的sh就变成sh^M当然是没有这个命令的,所以脚本就不能运行了,把^M去掉就应该没问题了。

输入命令:dos2unix configure 把它转化成linux文件。

如果没有dos2unix此命令,可用此方法:

cat ./configure.sh | tr -d ‘\r’ > temp.sh

mv temp.sh configure.sh


你可能感兴趣的:(bash: ./vartest.sh: /bin/sh^M: bad interpreter: No)