我想在 Bash 中创建一个接受 2 个参数的函数。一个参数只是一个值,另一个参数是一个数组。我将循环遍历该数组并使用数组元素和另一个函数参数执行操作。它将是这样的(我不知道正确的语法):
#!/bin/bash
function sumOverArray() {
val=$1
arr=("$@")
for i in "${arr[@]}";
do
sum=$((i + val))
echo "sum: $sum"
done
}
array=(1 2 3)
sumOverArray 3 "${array[@]}"
答案1
您的代码几乎已完成。只需shift
在赋值后添加$val
,它就会从数组中删除第一个元素$@
。
...
val=$1
shift
arr=("$@")
...