我需要将properties
文件的每个属性转换为环境变量:
我的意思是,猜猜这个属性文件:
mongo.port=27017
mongo.host=127.0.0.1
mongo.databaseName = test
bo.url-jwt= https://localhost:8089/token
我想将它们创建为环境变量
export MONGO_PORT=27017
export MONGO_HOST=127.0.0.1
export MONGO_DATABASENAME=test
export BO_URL_JWT=https://localhost:8089/token
有什么工具或脚本可以得到这个吗?
我正在使用 ubuntu 18x + zsh
这是一个可以执行此操作的简短脚本:
该脚本以下列方式工作。使用 . 生成两个临时文件
mktemp
。输入属性文件在“=”字符上拆分,两个各自的字段被发送到这两个文件。在第一个字段(属性名称)上,该
tr
命令应用了两次。一次用于小写到大写的转换,一次用于将特殊字符更改为下划线。字段值仅在这些更改后写入临时文件。处理完成后,该
paste
命令用于将字段重新组合到单个文件 output.props 中。然后,sed
使用两个命令。第一个删除“=”字符周围的任何空格字符,否则将是export
命令的语法错误。第二个sed
命令用于为每一行添加字符串“export”的前缀。最后,清理这两个临时文件。样本输出:
生成输出文件后,获取它以实际设置环境中的变量。为此可以使用以下两种语法之一: