#问题描述

因为会在多台机器里用我自己写的一个脚本库,如何快速的配置生效就是需要解决的问题,我的解决方法是用环境变量包。

定义一个默认的环境变量文件,再定义各个平台独立的环境变量文件:

1
2
3
➜  ~/Onns/code/config/bash git:(main) ✗  ls                                                                                                                        [2021/08/21 10:50]
README.md default lab_desktop macmini oinit_python.py template-bashrc ubuntu
aliyun deploy macbook oinit raspi test

之前在使用过程中一直没什么问题,而且我还制作了一个 python 解析的脚本,使得 python 也能够使用同一套定义。

不过昨天在使用的时候突然想到一个问题,比如我在 default(默认的环境变量)里配置了:

1
2
ONNS_HOME=/User/onns
document_dir=${ONNS_HOME}/Documents

然后又在专门的配置文件里配置了:

1
ONNS_HOME=/User/macmini

这样确实可以做到在不同的电脑上应用专门配置的变量:

1
2
3
4
$ echo $ONNS_HOME
/User/macmini
$ echo $document_dir
/User/onns/Documents

但是子变量是不会改变的,除非你在专门的配置文件里再配置一次。。

害,期待解决办法~

#相关链接

在 stackoverflow 上的提问:Is there a way to load bash variables dynamically