在windows中编辑的脚本直接在linux下用,会出一个syntax error: unexpected end of file的错误
以前总是不理解,后来明白是因为win和unix对换行符号表示的不一样。
cat -v file
可以发现file文件中是否有^M格式的换行符号
cat file | col -b > newfile 将所有的^M删除掉。
或者dos2unix filename
或者在编辑器里面
vim : s/\r//g
vi : s/ctrl+v ctrl+m//g
现在执行脚本不会报错了
另外,脚本执行前用sh -n file.sh检查一下语法错误是个好习惯
sh -x 可以看到每行执行的命令。