要求是当调用脚本时如下:
my_script.sh 1 2 3 4
脚本应该能够将这些数字相加并在最后打印总和。
num=0
for arg in "$@"
do
for number in $arg
do
(( num += $number ))
done
done
我已经按照上面的方式编写了脚本,但没有得到所需的输出。
最佳答案
您的脚本没有输出任何内容。尝试添加
echo $num
最后。
但是您的脚本可以简化。正如所写,您的脚本将适用于像
这样的输入my_script.sh 1 '2 3' 4
同样,它首先循环遍历参数(for arg in "$@"
),然后也循环遍历每个参数中的所有单词(for number in $arg
)。您不需要第二个循环。
此外,将结果命名为 $sum
似乎可以更好地解释其目的。因此,您只需输入
#!/bin/bash
sum=0
for number in "$@" ; do
(( sum += number ))
done
echo $sum
关于linux - Bash 脚本添加参数中收到的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55092918/