![无需外部程序即可将两个数字相加的 POSIX 方法?](https://linux22.com/image/96789/%E6%97%A0%E9%9C%80%E5%A4%96%E9%83%A8%E7%A8%8B%E5%BA%8F%E5%8D%B3%E5%8F%AF%E5%B0%86%E4%B8%A4%E4%B8%AA%E6%95%B0%E5%AD%97%E7%9B%B8%E5%8A%A0%E7%9A%84%20POSIX%20%E6%96%B9%E6%B3%95%EF%BC%9F%20.png)
我想在 shell 脚本中以 POSIX-ly 将两个数字相加。我知道我可以这样做:
a=1
b=2
sum=$((a+b))
`
但如果我用(ie )尝试sum=`(a+b)`
,它不起作用;并且$( ... )
语法不是 POSIX。我也可以将其通过管道传输到bc
or expr
,但如果可以的话,我宁愿不这样做。
答案1
语法$((...))
是POSIX。链接在这里。
答案2
您混淆了 a 的语法“命令替换”$(…)
里面有几个括号(也有特定的语法含义):$( (…) )
带有算术扩展$((…))
(注意没有空格)。
确实$((…))
是POSIX 中指定。