我知道我能做
$ [ -w /home/durrantm ] && echo "writable"
writable
要么
$ test -w /home/durrantm && echo "writable"
writable
要么
$ [[ -w /home/durrantm ]] && echo "writable"
writable
我喜欢使用第三种语法。它们在所有方面以及所有消极和极端情况下是否等效?在可移植性方面是否存在任何差异,例如在Ubuntu和OS X上的bash或较旧/较新的bash版本(例如4.0之前/之后)之间,它们是否都以相同的方式扩展表达式?
[ … ]
vs[[ … ]]
vstest …
,在这个几乎重复的问题中,有更完整的答案。