2014-10-17 44 views
1

我有一個名爲param.txt文件,其中包含象下面這樣:變量處理中的shell

JOHN 
Dheer 
Rahul 

我想參數化像不同的變量應包含不同的值:

v1=JOHN 
v2 =Dheer 
v3=Rahul 

我想邁克下面:

export COUNT=1 

for PN in $(cat /home/hadoop/rahul/param_test.txt) 
do 

    #echo "$PN" 
    V$COUNT=$PN 

    echo `${V$COUNT}` 

    COUNT= 'expr $COUNT + 1' 
done 

它應該根據計數命名變量。 我越來越error.Can任何人都可以提出任何建議。

+1

我已經改變了你的代碼的格式。在你的'param.txt'示例中,我刪除了空白行。請確認這與你的要求一致。 – 2014-10-17 17:30:30

回答

1

有很多語法錯誤。這裏是正確的:

count=1 

while read -r line; do 
    echo "v${count}=$line" 
    count=`expr $count + 1` 
done < /home/hadoop/rahul/param_test.txt 
+1

還更好地使用http://www.shellcheck.net來驗證您的shell腳本。 – anubhava 2014-10-17 17:21:11