1

我是脚本新手,我需要使用 for 循环为我的班级编写脚本。该脚本应该允许您在命令行提示符下键入数字,然后将它们相加并给您答案。我不断收到 expr: 语法错误,而且我还认为我的 for 循环的 in 部分有问题。

echo 'Please enter some numbers:'
read ;
for i in echo $read ;
do expr + 
done

我知道有很多错误,但我无法弄清楚。

4

2 回答 2

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
于 2013-04-11T04:21:10.780 回答
0

expr需要它们之间带有空格分隔的加号的数字才能执行任何操作。

read one another
expr "$one" + "$another"

在这一点上,我希望您的教授希望您发现如何一次循环一个输入,并运行expr以添加您在之前的循环迭代中累积的总和。

对于现实世界的任何事物,您最好使用dcor bc,或者,哎呀,Awk 或适当的脚本语言。

于 2013-04-11T04:31:53.633 回答