[[ $a -lt 2 ]]
使用和之间有什么显着差异吗(( $a < 2 ))
?
例如,其中一个是否比另一个更快或更符合 POSIX?
答案1
两者都不兼容 POSIX。在 POSIX shell 中,您可以使用命令[ "$a" -lt 2 ]
或表达 $(( a < 2 ))
。
在 中bash
,前者只是支持所[
支持的条件表达式超集的条件命令,而后者是一个独立命令,如果所包含的算术表达式非零,则以状态 0 退出,否则为 1。除了可读性外,如果使用得当,两者之间没有显着差异。