2015-02-23 89 views
-1

下面是我的代碼UNIX外殼與屬性文件讀取

. appl.properties 
products=$PRODUCTS 
arr=$(echo $products | tr "," "\n") 
for x in $arr 
do 
    with="${x}SUBPRODUCTS" 
    subproducts=$(echo $with) 
    arr2=$(echo $subproducts | tr "," "\n") 
    for w in $arr2 
    do 
    echo "> $w" 
    done 
done 

我的屬性文件將格式

PRODUCTS=A,B,C 
ASUBPRODUCTS=D,E,F 

我已經從產品的屬性讀取和形成的另一個關鍵ASUBPRODUCTS的。

+3

問題是? – 2015-02-23 09:52:26

+0

我必須將產品條目與分隔符「,」分開,並且我必須在其他鍵值中使用該值,如圖所示。我將拆分並將值作爲A,並且我必須在其他條目「ASUBPRODUCT」中使用該值才能獲得該值。問題是我無法獲得子產品的價值 – 2015-02-23 10:00:33

+1

請添加一個「我得到」和「我期望的」段落... – 2015-02-23 12:49:23

回答

0

有了這個代碼:

. appl.properties 

for x in $(echo $ASUBPRODUCTS | tr "," "\n") ; do 
    echo "x=$x" 
done 

你應該得到這樣的輸出:(。)

x=D 
x=E 
x=F 
+0

是的,如果我將harcode編碼爲「ASUBPRODUCTS」,那麼這些值將會正確顯示,但是「ASUBPRODUCTS」將在代碼中動態生成。將代碼行與=「$ {x} SUBPRODUCTS」 – 2015-02-24 09:10:43

0

不要源的屬性文件,讀取它來代替。

while IFS== read var value; do 
    echo var=$var 
    echo value=$value 
done < appl.properties 

因爲它不是從你真正想要使用這些值做什麼的問題是很清楚,我只是呼應他們。