我尝试使用此:
$ if [$a == 1] then { echo 'yes'; } fi;
但我得到一个错误:
-bash: syntax error near unexpected token `}'
正确的格式是什么?我没有运气尝试过几次。
[
根据bash的说法,这只是另一个角色;这不是自定界的。因此,您需要在[
和周围放置空格]
。尽管您最好使用[[
和]]
。
并且后面的命令if
(是,[
是命令)必须以;
或换行符终止。
最后,==
(不是posix,FWIW; posix更喜欢=
)是字符串相等,而不是数字相等。
因此,您可能意味着:
if [[ $a -eq 1 ]]; then echo yes; fi
但是您可以改用算术评估:
if ((a == 1)); then echo yes; fi
(在算术评估中,等于为==
,并且不需要$
在变量名之前。我知道这很令人困惑。)
有关的更多信息[
:help test
。关于[[
:帮助[[
(基于test
)。关于((
:help let
。关于bash
:man bash
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句