在将列表转发到其他命令之前,通过某种转换(例如连接每个字符串)基本上“映射”bash 参数列表的最优雅方法是什么?我想到了使用 xargs
但我似乎无法概念化如何做到这一点。
function do_something {
# hypothetically
for arg in "$@"; do
arg="$arg.txt"
done
command "$@"
}
do_something file1 file2 file3
结果是调用
command file1.txt file2.txt file3.txt
。 最佳答案
您所做的大部分是正确的,只是您需要使用数组来存储新参数:
function do_something {
array=()
for arg in "$@"; do
array+=("$arg.txt")
done
command "${array[@]}"
}
do_something file1 file2 file3
关于bash: 'map' 函数参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42827234/