누군가 Bash 논리를 이해하도록 도와줄 수 있나요?
이건 내 환경도 아닌 것 같고 간단한 논리도 이해할 수 없는 것 같다. 누군가 다음과 같은 일이 왜/어떻게 발생하는지 그리고 결과를 변경할 수 있는 방법이 있는지 설명할 수 있습니까?
number=6
echo $number
6
test=$number
echo $test
6
여태까지는 그런대로 잘됐다
number=11
echo $test
6
test=$number
echo $test
11
test=$number
11이 표시되도록 하려면 다시 발행 해야 합니다 . 분명히 이것은 의도적으로 설계된 것입니다. test=$number
다시 방출 하지 않고 응답으로 11을 생성하는 방법이 있습니까 ?
답변1
이것은 C/C++/포인터가 있는 다른 언어가 아닙니다. 이렇게 하면 test=$number
변수의 값이 주소가 아닌 number
변수에 할당됩니다. test
따라서 나중에 변경해도 변수에는 전혀 number
영향을 미치지 않습니다 .test
또한 변수는 test
내장된 명령이므로 이름을 지정하지 않는 것이 좋습니다. 문제 없습니다. 하지만 멋지지는 않습니다 ^^