shell [[]] 语法错误解决方式

错误如图:
shell [[]] 语法错误解决方式_第1张图片
/linux/install.sh:行15: if [[ $contrainsha e == *$contrainsname* ]] /linux/install.sh:行15: 条件表达式中有语法错误 ' 附近有语法错误/linux/install.sh:行15: ]]

[[]]语法

当[[ ]]判断expr成立时,退出状态为0,否则为非0值。这也和shell if语句对应上(true为0,false为非0)
[[ expr ]]

注意事项

1 [[ ]]和expr之间有两个空格,这两个空格是必须的,否则会导致语法错误
2 [[ ]]对数字的比较仍然不友好,建议使用if判断条件时,用(())来处理整型数字,用[[ ]]来处理字符串或者文件

问题原因:

[[ ]]和expr之间有两个空格,这两个空格是必须的,否则会导致语法错误,我的程序里面只有一个空格导致执行错误。

解决方式

[[]] 中表达式前后加成两个空格,问题解决。

参考:https://blog.csdn.net/zzd_zzd/article/details/105084541

你可能感兴趣的:(linux,运维,服务器)