Bash test 命令
Bash 的比较 (test) 是必须掌握的技能。[ true-condition ]
会被解释为 0。方括号 [] 是命令 test
的语法糖。 [[ ... ]]
是升级版的比较,需要注意的是两个方括号里面不会扩展文件名,也不会分词,只会做参数的扩展, $variable 变量的替换,以及能用 &&
, ||
, <
, >
这些操作符。不过在 if
后面,像 test
, []
, [[]]
这些都是可以省略的。不用 if
的时候方括号很适合做一些一行流的操作,例如: [ -f $variable ] && command-a || command-b
能比较变量文件是否存在,是则执行 command-a, 否则执行 command-b。