변수에 값을 할당하는 방법은 무엇입니까?

변수에 값을 할당하는 방법은 무엇입니까?

다음 변수 할당을 처리하는 방법은 무엇입니까? 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=11을 넣는다는 뜻입니다 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

답변2

의 값을 할당하면 var1두 개의 독립 변수 가 var2생기고 두 변수는 동일한 값을 갖게 됩니다.var1var2

var2속성을 통해 선언된 변수를 이용하여 nameref참조 할 수 있습니다 var1.

$ var1=1
$ declare -n var2=var1
$ echo "$var2"
1
$ var1=2
$ echo "$var2"
2
$ var2=3
$ echo "$var2 $var1"
3 3

관련 정보