2016-09-20 2 views
0

シェルスクリプト内のプロパティ名containigドットソースすることができません:プロパティ名と値を下回る含まれている私は、プロパティファイル(env.properties)を持っている

oracle.install.option=UPGRADE_DB 

私は別のシェルスクリプト(test.sh)を持って実行しますsourceコマンドとプロパティoracle.install.optionの値にアクセスしよう:

#!/bin/sh 
source env.properties 
echo "value is...... " $oracle.install.option 

私は、ファイル.test.shを実行すると、私は上記のプロパティの値を取得することができません。出力:

env.properties: line 1: oracle.install.option=UPGRADE_DB: command not found 
value is ......... .install.option 

予想される出力はUPGRADE_DBです。この問題を解決するために私を助けてください。

+0

あなたはそれがシェルファイルであることを確認している使用してファイル:あなたのシェルでそれを表示したい場合は

だから、あなたは別の良い代替手段を持っていますか? oracle設定ファイルではありませんか?なぜならenv。変数とドットはうまく混ざりません。 –

答えて

1

このプロパティファイルはシェルファイルではなく、環境変数名にドットを使用できません(here) プロパティにドットが含まれていない場合はハックが働く可能性があります。プロパティを解析awk

awk -F= '{if ($1=="oracle.install.option") print "value is......",$2}' env.properties 
+0

ありがとうございました。 – Vathsalya

関連する問題