如何将全局脚本变量传递给 xargs 的命令?我试过这样:
TEST=hallo2
echo "hallo" | xargs sh -c 'echo passed=$1 test=$TEST' sh
输出:
passed=hallo test=
我知道我可以使用{}
令牌,但我需要这样做!
我正在使用bash
.
$TEST
从引号中取出变量:
TEST=hallo2
echo "hallo" | xargs sh -c 'echo passed=$1 test='$TEST sh
作为@chepner 建议的答案添加。
export
变量TEST
:
export TEST=hallo2
echo "hallo" | xargs sh -c 'echo passed=$1 test="$TEST"' sh
使用 GNU Parallel,您可以避免一些引用:
TEST=hallo2
echo "hallo" | parallel echo passed={} test=$TEST
GNU Parallel 作为大多数发行版的包存在,建议使用普通包管理器进行安装。但是如果您的系统没有软件包,安装 GNU Parallel 仍然需要 10 秒。
观看介绍视频以了解更多信息:https ://www.youtube.com/playlist?list=PL284C9FF2488BC6D1