解决在windows下编写shell脚本执行报错的问题

有时候,我们为了方便,于是在windows下编写shell脚本,编写完成以后放到Linux开发环境中去执行,在执行的时候报如下的错:

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

两种解决方法:

方法一

第一步:使用下述命令看看该文件的格式,dos格式的文件行尾为^M$,unix格式的文件行尾为$;

使用命令:cat -A test.sh

第二步:如果看到文件每行都是以^M$结尾,说明文件的格式不对,则使用下述命令直接替换结尾符为unix格式;

使用命令替换结尾符号:sed -i "s/\r//" test.sh

第三步:再次使用 cat -A test.sh命令可以看到文件的格式为unix格式。

方法二

第一步:vim test.sh,按Esc键,同时按下Shift和:键,在左下角输入set ff后回车,会看到左下角显示fileformat=dos;

第二步:同时按下Shift和:键,在左下角输入set ff=unix后回车;输入同时按下Shift和:wq保存退出;

第三步:vim test.sh,按Esc键,同时按下Shift和:键,在左下角输入set ff后回车,会看到左下角显示fileformat=unix;表示格式已经修改了。

通过上述两种方法对shell脚本的格式进行修改后,再执行就正常了。

 

 

你可能感兴趣的:(shell,linux)