1. 问题出现背景
因为最近在调试,总是做一些很繁琐的工作,所以就想着搞个shell脚本玩玩~
2. 问题
shell脚本看得比较多,还是第一次写
,东拼西凑地写了几十行,功能总算够用了。结果编译就出错了,错误信息如下:
/bin/bash^M: bad interpreter: No such file or directory
3. 问题分析
^M这个符号是回车符,就是说脚本里多了这个符号,网上查了一下,终于明白了原因:我是在windows下编辑的文件,而linux下面的换行符和windows是不一样的……
【介绍】关于换行符的处理,windows下面是回车+换行,而Linux下面是 换行……所以问题才会出现……
4. 解决办法
【1】直接在linux下面编辑文件
【2】使用转换命令:dos2unix,这个命令在linux发行版中一般是没有的,需要安装(sudo apt-get install tofrodos)
【3】使用命令sed -i -e 's/\r$//' *.sh进行消除回车符