【shell】解决sh命令运行脚本时出错【XXX.sh: [[: not found】 【Syntax error: “(“ unexpected】【未预期的符号“XXX“附近有语法错误】

1. 报错信息

通常脚本里面有函数和正则表达式

  1. XXX.sh: [[: not found
  2. XXX.sh: Syntax error: “(” unexpected
  3. 未预期的符号“$’{\r’”附近有语法错误
  4. 未预期的符号“then”附近有语法错误
  5. 未预期的符号“done”附近有语法错误

2. 问题所在、解决方法

  1. 保证你的语法没有问题
# 表达式中间如果有符号,一定要用空格隔开 如str1 = str2
if 空格 [空格 表达式 空格]  
then
  1. 代码没有错,Ubuntu/Debian为了加快开机速度,用dash代替了传统的bash
    方法一:实用的方法:不用sh命令,用bash运行shell脚本,很实用!
bash XXX.sh

方法二:网上常见的方法:取消dash,在弹出选择项中选No

sudo dpkg-reconfigure dash
  1. 从windows复制的脚本直接粘贴在linux虚拟机中,格式不同。在虚拟机新建文件,复制粘贴

猜你喜欢

转载自blog.csdn.net/weixin_44121966/article/details/120129869