用户1117628
2018-03-31 18:16
sum2=$(( $num1 + $num2 ))
(( $num1 + $num2 ))前面为什么要加个$符号?(( $num1 + $num2 ))相加后就是一个数字
了,在数字前再加个$符号理解不了,相当于sum2=$40,这不符合变量的声明啊!求大神解答。
sum2=$(( $num1 + $num2 )) ✅
sum2=$((num1 + num2)) ✅
$代表指向变量本身,也就是说把括号里面的东西当成一个变量再赋值给sum2。 就好比我们要引用num1 前面必须要加个$。这是shell的特别格式,不需要太纠结。
而且因为$ ,$#,$*....等组合应用,所以$变得有意义。尽管写起来比较麻烦。系统用的脚本语言不需要最求优雅或者简洁,更重要是要区分和一般的编程语言的不同。防止运行的报错。
个人理解。
而且,不加$ 在识别加减时候无效。编程输出”10 +20“ 这样一个字符串
在后面的运算符中tony老师会讲到这个,就理解为固定的格式吧,按照你的理解也行,谢谢同学的回答!
里面相加后还只是两个字符串的“+”号拼接,加$才能转为数字
shell编程之变量
51477 学习 · 76 问题
相似问题