执行shell脚本程序
问题描述:
echo Enter 2 values:
read val1 val2
c = `expr $val1 + $val2`
echo $c
,我得到以下问题:执行shell脚本程序
addition.sh:3:addition.sh:C:没有发现
请帮帮我!!
答
这是因为你把变量'c'和'='之间的空格。因此,壳假定c
是一个命令和=
,和expr $val1 + $val2
是给定的参数:
所以不是
c = `expr $val1 + $val2`
^^
写入
c=$(expr $val1 + $val2)
总之:
echo Enter 2 values:
read val1 val2
c=$(expr $val1 + $val2)
echo $c
请注意,你也可以得到th的结果Ë总和与:
echo $((val1 + val2))
作为一般的规则,使用var=$(command)
保存命令输出在变量中。
使用'c = $((val1 + val2))'而不是'c = $(expr $ val1 + $ val2';'expr'命令在现代shell中已经(大部分)已经过时。 – chepner