1. 报错信息
通常脚本里面有函数和正则表达式
- XXX.sh: [[: not found
- XXX.sh: Syntax error: “(” unexpected
- 未预期的符号“$’{\r’”附近有语法错误
- 未预期的符号“then”附近有语法错误
- 未预期的符号“done”附近有语法错误
2. 问题所在、解决方法
- 保证你的语法没有问题
# 表达式中间如果有符号,一定要用空格隔开 如str1 = str2
if 空格 [空格 表达式 空格]
then
- 代码没有错,Ubuntu/Debian为了加快开机速度,用dash代替了传统的bash
方法一:实用的方法:不用sh命令,用bash运行shell脚本,很实用!
bash XXX.sh
方法二:网上常见的方法:取消dash,在弹出选择项中选No
sudo dpkg-reconfigure dash
- 从windows复制的脚本直接粘贴在linux虚拟机中,格式不同。在虚拟机新建文件,复制粘贴