linux - Bash 命令行环境变量

标签 linux macos bash shell

如果你这样做(在 bash 中):

ENV_ONE=1 ENV_TWO=2 command

command 将在其调用中接受并使用环境变量。但是,如果您这样做:

ENV_ONE=1 ENV_TWO=2 clear && command

clear 将使用命令行上设置的环境变量,它们不会传递给命令。如果您想执行以下操作,这是一个问题:

alias command='clear && command'

我四处搜索,但找不到代表命令之前的环境变量的 bash 内置函数。我的问题是:如何将 CLI 声明的环境变量传递给第二个命令?

最佳答案

别名的经验法则是“如果你不得不问,请改用函数”。由于 command 与内置冲突,我将调用您的命令 foo:

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

这按预期工作。

关于linux - Bash 命令行环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22772844/

相关文章:

python - 使用 python csv 模块创建安装 bash 脚本

android - .bash_profile 破坏了我的路径,但是 .bashrc

linux - 可以使用与管道命令的输出相同的输入文件吗?

linux - 如果 bash 脚本的条件有什么问题

linux - 在 Shell 脚本中格式化 Diff 输出

linux - 在 Linux 中如何做到这一点,以便在读取文件时,当前应用程序从另一个应用程序接收数据?

ruby-on-rails - 如何在系统重启后在用户环境中自动启动rails应用程序?

ios - App Store 打开的 Xcode 版本比安装的版本旧

objective-c - 锁定你自己的 NSPreferencePane?

linux - Shell 脚本中的定时异步任务