`_`를 bash 환경으로 내보낼 수 없는 이유는 무엇입니까?

`_`를 bash 환경으로 내보낼 수 없는 이유는 무엇입니까?

_Bash에서 쉘 환경으로 내보낼 수 없는 이유는 무엇입니까 ?

$ export _
$ export | grep _=
$

아무것도 출력되지 않습니다. 아니면 내가 뭔가를 놓치고 있는 걸까?

_환경으로 내보내는 방법은 무엇입니까 ?

당신은 또한 볼 수 있습니다여기. 감사해요.

답변1

$_$1등과 $-같은 특수 매개변수입니다 . Bash에서는 변수로 구현되지만 그렇게 생각해서는 안 됩니다. 바라보다Bash 매뉴얼의 특수 매개변수 섹션:

쉘에는 여러 매개변수를 특수하게 처리하는 기능이 있습니다. 이러한 매개변수는 인용만 가능하며 할당은 허용되지 않습니다.

특수 매개변수아니요변하기 쉬운.

Bash는 다음을 시행하기 때문에 내보낼 수 없습니다. 명령이 구문 분석될 때마다_변수의 내보내기 플래그가 지워집니다..

답변2

$_일반 변수가 아닌 Bash 쉘의 특수 매개변수이기 때문입니다 .

관련 질문:bash 쉘에서 `_`는 언제 환경 변수입니까?

관련 정보