我想在 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[@]}"
Run Code Online (Sandbox Code Playgroud)
cho*_*oba 16
您的代码几乎完成。只需shift
在赋值后添加到$val
,它就会从$@
数组中删除第一个元素。
...
val=$1
shift
arr=("$@")
...
Run Code Online (Sandbox Code Playgroud)