场景
工程中有一个xxx.properties的配置文件,里面有些环境变量,如数据库连接,文件目录等
同时有一个处理数据的shell脚本,里面也需要这部分环境变量
通常的做法是在写 Dockerfile 时,使用ENV xx xx的方式制定
但是,系统环境有多个,dev、test、release 等
不能针对每一个环境都去修改 Dockerfile 文件
于是乎就尝试使用 shell 脚本读取配置文件,将结果设置到环境变量中
步骤
1.按行读取配置文件
Linux 有多中按行读取文件的方式:awk,cat 等,我这里采用了 cat 的方式
cat /data/luelue.properties | while read line; do
echo $line
done
这样就可以将数据读取出来
2.修改数据格式
luelue.properties 中的数据格式是
auther:shuai
url:jdbc:mysql://localhost:3306/liquibase?useSSL=false
但是 Linux 环境变量中的数据格式是
export auther=shuai
export url=jdbc:mysql://localhost:3306/liquibase?useSSL=false
因此我们要做的是:
切分 luelue.properties 中的数据
组装成 export xx=xx 的格式
2.1切分数据
Linux 有多种切分字符