【发布时间】:2020-08-28 09:48:03
【问题描述】:
这是我的脚本:
env -i MY_KEY=$my_key MY_ACCOUNT=$my_account command-that-outputs-a-list \
| grep "name" | awk -v src=$src \
'{a = substr($2,2, length($2)-3); print "my_copy_cmd -s xx-yy/"src"/"a" -d . "}'
它会输出如下内容:
my_copy_cmd -s xx-yy/source-file-name -d .
my_copy_cmd -s xx-yy/source-file-name -d .
my_copy_cmd -s xx-yy/source-file-name -d .
my_copy_cmd -s xx-yy/source-file-name -d .
现在我只想在同一行执行它,但是xargs 使 all 传入一行参数(并且它不运行它)。 xargs -0 也不起作用。而且我想使用env -i 在没有变量的环境中运行它,并临时设置我的环境变量(= 就像我在第一个命令中所做的那样),类似于 (工作):
env -i MY_KEY=$my_key MY_ACCOUNT=$my_account command-that-outputs-a-list \
| grep "name" | awk -v src=$src \
'{a = substr($2,2, length($2)-3); print "my_copy_cmd -s xx-yy/"src"/"a" -d . "}' \
| xargs env -i MY_KEY=$my_key MY_ACCOUNT=$my_account
【问题讨论】: