有时候,我们为了方便,于是在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脚本的格式进行修改后,再执行就正常了。
文章来源地址https://www.toymoban.com/news/detail-556682.html文章来源:https://www.toymoban.com/news/detail-556682.html
到了这里,关于解决在windows下编写shell脚本执行报错的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!