[問題] shell script
這個問題應該很基本 不過我沒查到怎麼寫
假設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 他只會顯示一串數字
所以 請問 ..... 的部份該怎麼表示?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.103.203
→
07/12 15:37, , 1F
07/12 15:37, 1F
感謝樓上~不過我想我沒陳述清楚我的意思
這樣說好了 如果script這樣寫
=======================
p1=123456
p2=abcdef
read input
echo .....
=======================
希望
當輸入的值 (給input的值) 是p1 就顯示 $p1 也就是 123456
當輸入的值 是p2 就顯示 $p2 也就是 abcdef
要怎麼寫?
謝謝
→
07/12 16:25, , 2F
07/12 16:25, 2F
推
07/12 16:26, , 3F
07/12 16:26, 3F
非常感謝 b大~
現在我知道了 應該這樣寫
=======================
p1=123456
p2=abcdef
read input
eval input=\$$input
echo $input
=======================
※ 編輯: noonee 來自: 140.109.103.203 (07/12 16:48)
推
07/12 19:54, , 4F
07/12 19:54, 4F
討論串 (同標題文章)