在bashrc中替换环境变量

时间:2020-06-05 15:34:54

标签: bash

我可以从远程系统检索环境变量列表,该系统将打印出如下环境变量:

some command | awk -F ": " '/SOME_VAR/ {print "export "$1"="$2}'

会给予

export SOME_VAR_ABC=999
export SOME_VAR_XYZ=123
export SOME_VAR_TUV=654
etc

有没有办法让我遍历并将这些直接写到我的bashrc中,但是如果该变量已经存在,则将其覆盖?

1 个答案:

答案 0 :(得分:5)

也许一种更干净的方法来避免从远程计算机上检索到的变量重复(这使我认为它们的值可能会随着时间而改变)是将它们写到除.bashrc之外的单独文件中,然后将该文件加载到您的.bashrc文件中。

例如,我们称其为~/.custom_variables。要将从远程计算机检索到的变量放入此文件,可以运行以下命令:

some command | awk -F ": " '/SOME_VAR/ {print "export "$1"="$2}' > ~/.custom_variables

然后您只需要将其添加到您的.bashrc

if [ -f ~/.custom_variables ]; then
  source ~/.custom_variables
fi

这样,每次您运行该命令时,文件~/.custom_variables将被覆盖,因此您不必担心重复的条目。