Bash if 语句中何时需要方括号?

2024-04-16

通常,我在 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(使用前将#替换为@)

Bash if 语句中何时需要方括号? 的相关文章

随机推荐