mik*_*ney 2 linux macos bash shell
如果你这样做(在bash中):
ENV_ONE=1 ENV_TWO=2 command
Run Code Online (Sandbox Code Playgroud)
command将在其调用中接受并使用环境变量.但是,如果你这样做:
ENV_ONE=1 ENV_TWO=2 clear && command
Run Code Online (Sandbox Code Playgroud)
clear将使用命令行上设置的env变量,它们不会传递给命令.如果您想要执行以下操作,这是一个问题:
alias command='clear && command'
Run Code Online (Sandbox Code Playgroud)
我已经google了一下,在命令之前我找不到代表env变种的bash内置.我的问题是:如何将CLI声明的env vars传递给第二个命令?
使用别名的经验法则是"如果你不得不问,请改用函数".由于command与内置冲突,我会打电话给你的命令foo:
foo() { clear && command foo "$@"; }
ENV_ONE=1 ENV_TWO=2 foo
Run Code Online (Sandbox Code Playgroud)
这按预期工作.
| 归档时间: |
|
| 查看次数: |
304 次 |
| 最近记录: |