我有一个配置文件,例如名为(abc.conf)
abc.conf
-------
location1=/opt/test1/locationx
location2=/opt/test1/locationy
location3=/opt/test1/locationz
我有一个示例代码,它工作良好,如果我不使用这样的路径和斜杠
getProperty()
{
PROPERTY_FILE=$1
PROP_KEY=$2
PROP_VALUE=`cat $PROPERTY_FILE | grep -w "$PROP_KEY" | cut -d'=' -f2`
echo $PROP_VALUE
}
使用像
VALUE=$(getProperty $CONF_FILE $LOCATION1)
但是这个函数有限制使用它,当我用它来获取location1,它也获取location2/location3像类似的位置在一起,而不是特定的键值。它应该只对唯一值起作用。
代码运行正常
调用函数
$ getProperty abc.conf location1(2 or 3)
/opt/test1/locationx
使用awk
适当地限制键匹配到第一个字段
getProperty()
{
awk -F= -v key=$2 '$1 == key {print $2} "$1"
}