如果你这样做(用bash):
ENV_ONE=1 ENV_TWO=2 command
command
将在其调用中接受并使用环境变量。但是,如果你这样做:
ENV_ONE=1 ENV_TWO=2 clear && command
clear
将使用命令行上设置的env变量,并且不会将它们传递给命令。如果您想要执行以下操作,这是一个问题:
alias command='clear && command'
我已经用Google搜索了,在命令之前我找不到代表env vars的bash内置版本。我的问题是:如何将CLI声明的env vars传递给第二个命令?
答案 0 :(得分:6)
带有别名的经验法则是#34;如果你不得不问,请改用函数"。由于command
与内置版冲突,我会调用您的命令foo
:
foo() { clear && command foo "$@"; }
ENV_ONE=1 ENV_TWO=2 foo
这可以按预期工作。