在Bash和Posix外壳程序中,有多种形式的命令,如果我是对的,赋值就是一种形式的命令(特别是简单的命令)。
但是let
可以在赋值前面使用,并且let
应该在表达式前面使用。因此,如果我是对的,任务也是一种表达。
let
前面和后面的分配都用作命令,它们之间有什么区别?我主要问的是它们的目的之间的区别,即何时使用它们。例如
$ aaa=1
$ let aaa=1
let <EXPRESSION>
本身不符合POSIX,但可以以符合POSIX的方式表示为
[ "$(( <EXPRESSION> ))" -ne 0 ]
与普通分配相反,let
还评估分配(表达式)并根据结果返回退出代码:
$ aaa=1; echo $?
0
$ aaa=0; echo $?
0
$ let aaa=1; echo $?
0
$ let aaa=0; echo $?
1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句