Bash 특수 매개변수를 "환경 상수"라고 불러야 할까요?

Bash 특수 매개변수를 "환경 상수"라고 불러야 할까요?

읽고 나서여기그런 다음여기, 저는 Bash의 소위 "특수 매개변수"가 환경 변수와 매우 유사하다는 결론에 도달했습니다. 그러나 가장 큰 차이점은재할당하다특수 매개변수 - 환경 변수의 제약 없이 수행할 수 있는 작업입니다(그러나 매우 주의해야 함).

내 질문은 다음과 같습니다.

Bash 특수 매개변수를 "환경 상수"(적어도 비유적으로)라고 불러야 할까요?

답변1

아니요. "환경"은 특정한 의미를 가지며 하위 프로세스에 전달되고 해당 프로세스 공간에 저장되는 변수 세트를 나타냅니다. 다른 변수를 "환경"이라고 부르는 것은 오해의 소지가 있고 부정확합니다.

답변2

set다음과 같은 명령을 사용하여 수정할 수 있으므로 실제로는 상수가 아닙니다 .

user@ehost:~$ set x y z
user@ehost:~$ echo $1 $2 $3
x y z

그러나 이는 쉘이 호출될 때 전달되기 때문에 매개변수입니다.

관련 정보