Seu código está quase completo. Apenas adicione shift
após a atribuição a $val
, ele removerá o primeiro elemento da matriz $@
.
...
val=
shift
arr=("$@")
...
Eu quero criar uma função no bash que leva 2 parâmetros. Um é simplesmente um valor e o outro é um array. Eu faria um loop no array e executaria uma operação usando o elemento array e o outro parâmetro da função. Seria algo assim (não sei a sintaxe correta):
#!/bin/bash
function sumOverArray() {
val=
arr=("$@")
for i in "${arr[@]}";
do
sum=$((i + val))
echo "sum: $sum"
done
}
array=(1 2 3)
sumOverArray 3 "${array[@]}"
Seu código está quase completo. Apenas adicione shift
após a atribuição a $val
, ele removerá o primeiro elemento da matriz $@
.
...
val=
shift
arr=("$@")
...