shell script - Linux

Table of Contents

這個問題應該很基本 不過我沒查到怎麼寫

假設script這樣寫
=======================
p1=123456
p2=abcdef
read input
for var in p1 p2
do
if [ $input == $var ]; done
echo .....
fi
done
=======================

.....的地方就是我不知道怎麼表示的地方
我是想讓當輸入input的值是p1 或是 p2 就直接顯示$p1或是$p2的值
也就是
當input = p1 就顯示 $p1 也就是 123456
當input = p2 就顯示 $p2 也就是 abcdef

如果 ..... 寫 $var 那出來的就會直接是 p1 和 p2
如果 ..... 寫 $($var) 那他會去系統裡面找有沒有叫 p1 或是 p2 的指令名稱
如果 ..... 寫 $$var 他只會顯示一串數字

所以 請問 ..... 的部份該怎麼表示?
謝謝

--

All Comments

Hardy avatarHardy2012-07-14
你那個 in 後面應該是 $p1 $p2
Kumar avatarKumar2012-07-17
soga. 請google bash indirect reference
Queena avatarQueena2012-07-20
$'$p1'