如果你这样做(在bash中):
ENV_ONE=1 ENV_TWO=2 command
command
将在其调用中接受并使用环境variables。 但是,如果你这样做:
ENV_ONE=1 ENV_TWO=2 clear && command
clear
将消耗在命令行上设置的环境variables,并且不会传递给命令。 这是一个问题,如果你想做的事情如:
alias command='clear && command'
我search了一下,我找不到一个bash内build代表env vars之前的命令。 我的问题是:我如何将CLI声明的envvariables传递给第二个命令?
与别名的经验法则是“如果你不得不问,使用一个功能”。 由于command
与内建冲突,我会打电话给你的命令foo
:
foo() { clear && command foo "$@"; } ENV_ONE=1 ENV_TWO=2 foo
这按预期工作。