2012-04-24 77 views
1

我有以下代碼將一個字符串轉換爲一個可變在UNIX

let a=1 
let b=a 

echo $b 

在i回波B,I希望它是指它的值(其爲「a」),並且顯示的值(即'1')

這可以實現嗎?

+0

可能重複(http://stackoverflow.com/questions/ a=1; b=a; echo $b ${!b} 9938649 /間接變量賦值在bash) – l0b0 2012-04-26 13:52:24

回答

2

首先,我認爲你真的不希望這樣做。但是,而不是說服你,這裏是如何做到這一點:既然你要訪問的右手邊爲一個字符串後,你不能用「讓」爲第二次分配

$ let a=1 
$ b=a 
$ echo $b 
a 
$ eval "echo \$$b" 
1 

音符。

1

我想你想let b=$a

+0

感謝您的回覆Sharet。在我的情況下,這不是這種情況。我只是有一個字符串,可能是'a1','a2'或'a3'。我從sql server獲得這個特定的字符串。我有預定義變量a1,a2和a3。我只需要訪問字符串的相應變量。 – Muthukumar 2012-04-24 16:30:35

0

如果你的shell是bash,你寫那麼究竟是什麼將b爲「1」(不是「a」),因爲$是算術表達式(你同用let力)可選。

不使用let,這是你正在尋找(假設bash)的語法:其輸出[在bash間接變量賦值]的a 1

相關問題