2012-01-04 7 views
4

のは、以下のようにbashで2つの変数を考えてみましょう:Bashの第2レベルの変数の値を変更するには?

X = 8 
Y = X 

私はecho ${!Y}を行うことができ、今の質問はある値8

印刷される変数Yを使用してXの値を印刷したい場合変数Yを使用してXの値を変更するにはどうすればよいですか? evalを使用することにより

答えて

7

$ X=8 
$ Y=X 
$ echo ${!Y} 
8 
$ eval $Y=3 
$ echo $X 
3 
2

これはあなたのために働くかもしれない:

X=8; Y=X; echo ${!Y} 
8 
echo $(($Y=3)) 
3 
echo $X 
3 
(($Y=7)); echo $X 
7 

はここでカップルより多くの方法です:

let $Y=4; echo $X 
4 
_[$Y=6]=1; echo $X 
6 
+0

ニース...それを行うのいずれかのより多くの方法を... +1 –

関連する問題