Bash命令行env vars

时间:2014-03-31 21:46:57

标签: linux macos bash shell

如果你这样做(用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传递给第二个命令?

1 个答案:

答案 0 :(得分:6)

带有别名的经验法则是#34;如果你不得不问,请改用函数"。由于command与内置版冲突,我会调用您的命令foo

foo() { clear && command foo "$@"; }
ENV_ONE=1 ENV_TWO=2 foo

这可以按预期工作。