次の変数割り当てを処理する方法は?var1=1
次の割り当てられた値を割り当てていますが、var2=$var1
値を変更するたびに常に古い値が表示されますvar1
。echo $var2
# var1=1
# var2=$var1
# echo $var2
1
# var1=2
# echo $var2
1
ベストアンサー1
それはどのようにについてですたくさん/最大プログラミング言語が機能する可能性があります。
命令型言語(bash
// C
/ ....)では、演算子は次の操作を実行しますJava
。python
=
いいえ数学でも同じように動作します。
a=1
1を入れるという意味ですa
(そこにあるものを上書きします)。
つまり
var1=1 # var1 ← 1 #overwrite var1 with 1
var2=$var1 # var2 ← $var1 #overwrite var2 with evaluation of $var1 (i.e 1)
var1=2 # var1 ← 2 #overwrite var1 with 2
stdout ←← $var2 #append $var2 to stdout
だから
# var1 var2
var1=1 # 1 n/a
var2=$var1 # 1 1
var1=2 # 2 1