$ []扩展中的数学并不适用于所有shell

时间:2014-03-05 02:55:53

标签: shell

我使用Debian。 问题是当我在终端中输入echo $[1+2]时,结果为3。 但是,当我在shell文件中编写echo $[1+2]时,结果为$[1+2]

1 个答案:

答案 0 :(得分:1)

用于算术的POSIX sh语法,由Debian的灰和破折号以及现代shell支持,是$(( 1 + 2 ))$[ 1 + 2 ]语法是古老的Bourne,而不是POSIX sh的一部分。

尽管它的名字,bash实际上与ksh关系比与原始Bourne关系更密切;类似地,POSIX sh规范是参考旧版Korn shell构建的。因此,试图与Bourne兼容是非常值得的。