我是脚本新手,我需要使用 for 循环为我的班级编写脚本。该脚本应该允许您在命令行提示符下键入数字,然后将它们相加并给您答案。我不断收到 expr: 语法错误,而且我还认为我的 for 循环的 in 部分有问题。
echo 'Please enter some numbers:'
read ;
for i in echo $read ;
do expr +
done
我知道有很多错误,但我无法弄清楚。
#!/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
expr
需要它们之间带有空格分隔的加号的数字才能执行任何操作。
read one another
expr "$one" + "$another"
在这一点上,我希望您的教授希望您发现如何一次循环一个输入,并运行expr
以添加您在之前的循环迭代中累积的总和。
对于现实世界的任何事物,您最好使用dc
or bc
,或者,哎呀,Awk 或适当的脚本语言。