[scode type="green"]出现此问题的原因是:在windows环境下,回车换行保存为\n\r
,而在unix环境下回车换行保存为\n
,那么你在windows下编写的脚本在linux下打开看的时候每一行的结尾就会多出来一个字符\r[/scode]
使用cat -A hello.sh
查看可看到r被显示为^M
使用vi hello.sh
然后输入' : '切换到底线命令模式再输入set
,可以看到文件格式为dos
[scode type="green"]解决办法:
1、vi打开文件输入' : '切换到底线命令模式,在输入set ff=unix
2、sed -i 's/\r$//' filename
删除掉末尾字符
[/scode]