我可以从远程系统检索环境变量列表,该系统将打印出如下环境变量:
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中,但是如果该变量已经存在,则将其覆盖?
答案 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
将被覆盖,因此您不必担心重复的条目。