在
bash
中,等号和双等号测试运算符有什么区别(如果有的话)?
在 bash
中,等号和双等号测试运算符的区别是什么(如果有的话)?
[[ "a" = "a" ]] && echo equal || echo not-equal
[[ "a" == "a" ]] && echo equal || echo not-equal
[[ "a" = "b" ]] && echo equal || echo not-equal
[[ "a" == "b" ]] && echo equal || echo not-equal
结果是:
equal
equal
not-equal
not-equal
(())
中无法使用=
进行数字比较(必须在(())
中使用==
或在[]
、test
或[[]]
中使用-eq
。请参见我在这里的回答:https://dev59.com/6XE85IYBdhLWcg3wzm5p#2601583。 - Dennis Williamsonwarning: line 3: '=' obsolete, use '=='
。 - brianegge==
在某些Shell中不起作用,因此不具有可移植性。建议使用=
。 - mak