从配置文件中读取脚本属性

时间:2018-01-15 22:23:39

标签: bash

我有这个批处理脚本:

#target environment (this can be DEV/QA/PROD)
targetEnv=DEV 

url=get this from file name env_prop_${DEV}.ini
user=get this from file name env_prop_${DEV}.ini
password=get this from file name env_prop_${DEV}.ini

我想要做的是将所有环境配置提取到单独的文件中,如:

config_DEV.ini   containing:
         url=dev1
         user=dev1
         password=pass1
config_QA.ini   containing:
         url=qa-server
         user=dev
         password=password
config_PROD.ini   containing:
         url=prod-server-01
         user=manager007
         password=*******

然后根据targetEnv替换脚本变量 例如,如果targetEnv是QA,则变量url将是

       url=qa-server
       user=dev
       password=password

1 个答案:

答案 0 :(得分:1)

你可以这样做:

url=$(awk -F "=" '/url/ {print $2}' config_$targetEnv.ini)
user=$(awk -F "=" '/user/ {print $2}' config_$targetEnv.ini)
password=$(awk -F "=" '/password/ {print $2}' config_$targetEnv.ini)

或者通过采购你的.ini,如果它的格式与你写的方式相符:

source config_$targetEnv.ini

这里有一些有用的信息: How do I grab an INI value within a shell script?