关于shell脚本语法正确,但是会报错的低级错误

之前项目中写过几次shell,把自己踩过的坑统计一下:

1:运行时,会报syntax error near 'xxx' unexpected token do

①可能是{}的第一个命令和左括号之间必须要有一个空格问题;

②反复检查没有任何语法错误后,还是报这种问题,就是linux,编码和windows编码问题,

换行和\r\n 会变成^m,用vim命令编辑脚本时可以清晰的看出,把它删除就可以;如果只可以用vi编辑的话,可以使用命令:cat -v 文件名,查看是否有^m,有的话使用sed ‘s/\r//’ 原文件 >转换后文件,形成新的文件就可以运行了;

2:shell脚本中的linux命令语句切记不可换行;

3:if中的[]括号必须有左右空格;

4:编写shell脚本时,还是用linux系统自己的vi,命令或者vim命令编写比较普,不会出现字符编码问题;

不定期补充

 

你可能感兴趣的:(日常踩坑)