通常,我在 if 语句中使用方括号:
if [ "$name" = 'Bob' ]; then ...
但是,当我检查是否grep
成功了我不使用方括号:
if grep -q "$text" $file ; then ...
什么时候需要方括号if
陈述?
方括号是同义词test
命令。一个if
语句检查命令的退出状态,以便决定采用哪个分支。grep -q "$text"
是一个命令,但是"$name" = 'Bob'
不是——这只是一个表达。test
是一个命令,它接受一个表达式并对其求值:
if test "$name" = 'Bob'; then ...
由于方括号是同义词test
命令,然后您可以将其重写为原始语句:
if [ "$name" = 'Bob' ]; then ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)