【发布时间】:2019-01-16 06:15:38
【问题描述】:
我有这个 bash 文件:
env_var.sh
export BASE_PORT=8000
export WEB_HOST=https://microsoft.com
#export TEST_MACHINE=my.server.name
export DB_DRIVER=org.postgresql.Driver
export APP_ROOT=$HOME/myapp100
export DB_URL=
export JMS_STORE=$APP_ROOT/../jms
let JMS_PORT=$BASE_PORT+425
export JMS_PORT
let HTTPS_PORT=$BASE_PORT+401
export HTTPS_PORT
export USE_CRED=yes
我需要将上面的文件转换为属性文件(key=value),所以结果是:
env_var.properties
BASE_PORT=8000
WEB_HOST=https://microsoft.com
DB_DRIVER=org.postgresql.Driver
APP_ROOT=/home/admin/myapp100
JMS_STORE=/home/admin/myapp100/../jms
JMS_PORT=8425
HTTPS_PORT=8401
USE_CRED=yes
意思是我需要:
- 忽略以哈希 # 开头的行
- 行导出 JMS_PORT(不带等号 '=')
- 空值行,如 DB_URL(不紧急)
- 当然用let命令计算相关端口
【问题讨论】:
标签: bash while-loop properties export let