Bash命令行env vars

如果你这样做(在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 

这按预期工作。