Bash:向函数传递不同的参数列表



我使用这个函数将一些文件名提供给另一个命令。

function fun(){  
find "${@}" -print0 | xargs -r0 other_command
}

当调用时,所有参数a传递给find以过滤文件名(-type, -name,等)

是否有办法将这些参数传递给other_command?如果可能,可变数量的参数。

像这样

fun [list of aguments for find] [list of aguments for other_command]   # pseudo-phantasy syntax

有可能吗?

通过" nameef "传递两个数组给函数。

fun() {
local -n first_args="$1"
local -n second_args="$2"
local -i idx
for idx in "${!first_args[@]}"; do
printf 'first arg %d: %sn' "$idx" "${first_args[idx]}"
done
for idx in "${!second_args[@]}"; do
printf 'second arg %d: %sn' "$idx" "${second_args[idx]}"
done
echo 'All first args:' "${first_args[@]}"
echo 'All second args:' "${second_args[@]}"
}
one_arg_pack=(--{a..c}{0..2})
another_arg_pack=('blah blah' /some/path --whatever 'a b c')
fun one_arg_pack another_arg_pack

相关内容

  • 没有找到相关文章

最新更新