我有一个bash脚本,可以在其中读取文件 .properties
,并获得一个存储在变量中的属性:
PROP_VALUE=`cat $PROP_FILE | grep "^$PROP_KEY" | cut -f2 -d'='`
此变量设置为 5.0.1 。
当我想使用此变量并将其连接到第二个变量时,得到以下结果:
CONCAT=".0"
echo $PROP_VALUE
=> Result : 5.0.1
echo $PROP_VALUE$CONCAT
=> Result : .00.1
这将删除我的第一个变量($ PROP_VALUE
)的前2个字符,并将其替换为我的第二个变量($ CONCAT
)的字符。
预期结果是: 5.0.1.0
答案 0 :(得分:2)
确保您的.properties是真实的UNIX文件。如果是这样,那么您的脚本就可以了。如果.properties具有DOS / winslows编码,那么您会遇到麻烦。我认为没有其他解释。
答案 1 :(得分:0)
我的财产文件:
version=5.0.1
category=dev
env=rct
当我使用以下语法时,我遇到了同样的问题:
PROP_VALUE=$(cat $PROP_FILE | grep "^$PROP_KEY" | cut -f2 -d'=')
如果$ PROP_VALUE是我手动创建的变量(不检索属性文件中的值),则它起作用:
PROP_VALUE="5.0.1"
CONCAT=".0"
echo $PROP_VALUE$CONCAT
=> Result : 5.0.1.0