尝试制作一个基本的加法函数,将输入的数字相加并输出总数。这是我当前的功能:
function addition() {
read -a arr
for i in ${arr[@]}
do
str=$str'+'$i
echo $i
done
echo $str
}
但这似乎要求一个输入然后输出上面的内容。我也试过使用:
function addition() {
for i in ${input[@]}
但这会输出一个空字符串。我如何着手创建一个接受此命令的函数:
$ addition 4 3 13 40
进入功能?
如果您的脚本/函数在命令行上获取数字,那么您不需要使用
read
(从标准输入读取)来读取它们。反而:
循环也可以更明确地写成
在循环的两种变体中,
number
变量将依次分配每个位置参数(“命令行参数”)的值,循环体会将这些添加到sum
变量中。请注意,上面的代码假定所有命令行参数都是整数,而没有验证它们是否是整数。
对于更高级的输出:
"$*"
将扩展为单个字符串,该字符串由位置参数组成,并与$IFS
作为分隔符的第一个字符连接。测试: