我是脚本新手,我需要使用for循环为我的类编写脚本。该脚本应该允许您在命令行提示符下键入数字,然后它将对它们求和并给出答案。我一直得到一个expr:语法错误,我也认为我在for循环的部分问题。
echo 'Please enter some numbers:'
read ;
for i in echo $read ;
do expr +
done
我知道有很多错误,但我无法弄清楚。
答案 0 :(得分:1)
#!/bin/sh
if [ "$#" -lt 2 ]
then
echo 'sum.sh [numbers]'
exit
fi
for number
do
let total+=number
done
echo $total
示例:
$ sum.sh
sum.sh [numbers]
$ sum.sh 2
2
$ sum.sh 2 2 3
7
答案 1 :(得分:0)
expr
需要在它们之间使用空格分隔的数字来执行任何操作。
read one another
expr "$one" + "$another"
此时,我希望您的教授希望您发现如何一次循环一个输入,并运行expr
以添加您在循环的前一次迭代期间累积的总和。
对于任何真实世界,您最好使用dc
或bc
,或者,使用Awk或适当的脚本语言。