在shell脚本中动态获取Properties

时间:2017-06-07 10:23:40

标签: bash shell properties-file

我想在我的shell脚本中保留邮件功能,在那里我可以动态决定谁是邮件收件人;我已经定义了一个如下所示的prop文件:

test.properties

servers=primserver1#secserver1
mailrecipients=XXX@abc.com
primserver1-mailrecipients=abc@xxx.com

现在,我想以这样的方式实现脚本,如果我在属性文件中有属性servername-mailrecipients,那么邮件应该发送给这些收件人,否则邮件应该发送到mailrecipients属性中的id

这是我写的shell脚本:

test.sh

#!/bin/bash
#Script for establishing connection between DMZ server and EMS server

scriptsroot=/app/test
cd "$scriptsroot/properties/test" || exit
if [ -f "test.properties" ]; then
   echo "Loading Property File: test.properties"
   # shellcheck source=/dev/null
   . ./test.properties
else
   echo "Property File: test.properties does not exist"
   exit;
fi
destservers=(${servers//#/ })
echo "${destservers[0]}; ${destservers[1]}"
echo "$mailrecipients"
echo "${${destservers[0]}-mailrecipients}"

但是,我遇到了以下异常:

输出

Loading Property File: test.properties
./test.properties: line 3: primems1-mailrecipients=abc@xxx.com: command not found
primems1; secems1
XXX@abc.com
test.sh: line 23: ${${destservers[0]}-mailrecipients}: bad substitution

请提供一些建议

0 个答案:

没有答案