我这里比较倒霉的是:
被xargs调用的,因为需要对一个参数执行多个命令,所以我写成一个shell function,然后export -f f使其在sub shell也可用
实际调用格式是
echo ${array[@]} | xargs -n1 -I{} bash -c 'f {}'
虽然{}是在最尾部,但必须和f一起作为bash -c的参数,这个函数才能接收到参数,否则就变成了
bash -c 'f' {}
相当于无参数调用
为了表达“函数f和它的参数一起”,我就必须使用-I占位符功能
然后就受到-n和-I冲突的问题影响了
按你的建议,我现在改成
printf '%s\n' ${array[@]} | xargs -I{} bash -c 'f {}'
【 在 haha103 的大作中提到: 】
: 所以只有其他程序来迁就它了,毕竟标准就这么规定的 :)
--
FROM 222.71.112.*