Existem dois truques relevantes aqui: você pode obter os argumentos iniciando em $5
usando um truque semelhante ao fatiamento de matriz ( "${@:5}"
), em seguida, criar a lista de --exclude
argumentos como uma matriz e usar "${array[@]}"
para incluí-los na linha de comando.
excludes=() # start with an empty array
for excl in "${@:5}"; do # for each extra argument...
excludes+=(--exclude "$excl") # add an exclude to the array
done
tar -cpJ "${excludes[@]}" "${SOURCE}" ...