왜 'export $Path=$Path:dir'이 작동하지 않습니까?

왜 'export $Path=$Path:dir'이 작동하지 않습니까?

왜 이 명령을 사용해야 하는지 궁금합니다.

export Path=$Path:dir

왜 명령이 다음과 같지 않습니까?

export $Path=$Path:dir/dir'

답변1

달러 기호는 $다음과 같은 용도로 사용됩니다.입장변수를 설정하지 마세요. 이를 확인하는 쉬운 방법은 변수를 인쇄해 보는 것입니다.

test="Hello"
echo test
# prints 'test'
echo $test
# prints 'Hello'
$test="Bye"
# Not allowed

답변2

이렇게 하면:

VAR=value

bash는 VAR을 "value"로 설정하여 변수가 없으면 생성합니다.

당신이 쓰는 경우 :

$VAR=value

그런 다음 bash는 $VAR을 현재 값으로 대체하여 이를 실행합니다. $VAR에 x 값이 있다고 가정하면 다음이 생성됩니다.

x=var

실행할 명령으로. 그래서 "명령을 찾을 수 없습니다"라고 뜹니다.

그러나 bash는 다음을 통해 이를 재해석하도록 지시받을 수 있습니다 eval.

VAR2=x
VAR=VAR2
echo $VAR2
x

eval $VAR=y
echo $VAR2
y

관련 정보