之前项目中写过几次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命令编写比较普,不会出现字符编码问题;
不定期补充