问答详情
源自:2-5 位置参数变量

(( $num1 + $num2 ))前面为什么要加个$符号

sum2=$(( $num1 + $num2 ))

 (( $num1 + $num2 ))前面为什么要加个$符号?(( $num1 + $num2 ))相加后就是一个数字

了,在数字前再加个$符号理解不了,相当于sum2=$40,这不符合变量的声明啊!求大神解答。

提问者:用户1117628 2018-03-31 18:16

个回答

  • UFO2015
    2021-01-05 18:43:25

    sum2=$(( $num1 + $num2 )) ✅

    sum2=$((num1 + num2)) ✅

  • yansima
    2018-06-22 21:52:31

    $代表指向变量本身,也就是说把括号里面的东西当成一个变量再赋值给sum2。 就好比我们要引用num1 前面必须要加个$。这是shell的特别格式,不需要太纠结。

    而且因为$ ,$#,$*....等组合应用,所以$变得有意义。尽管写起来比较麻烦。系统用的脚本语言不需要最求优雅或者简洁,更重要是要区分和一般的编程语言的不同。防止运行的报错。

    个人理解。

    而且,不加$ 在识别加减时候无效。编程输出”10 +20“ 这样一个字符串

  • 用户1117628
    2018-04-04 08:40:03

    在后面的运算符中tony老师会讲到这个,就理解为固定的格式吧,按照你的理解也行,谢谢同学的回答!

  • 慕雪5538346
    2018-04-04 08:31:56

    里面相加后还只是两个字符串的“+”号拼接,加$才能转为数字