`systemctl --user show-environment`에 표시되는 환경 변수와 `export`로 설정된 환경 변수의 차이점은 무엇입니까?

`systemctl --user show-environment`에 표시되는 환경 변수와 `export`로 설정된 환경 변수의 차이점은 무엇입니까?

이 명령은 systemctl --user show-environment환경 변수 목록을 반환할 수 있습니다. 그런데 저는 주로 환경 변수 export를 설정하고 echo $.... export명령을 사용합니다. 그렇다면 이 두 환경 변수의 차이점이 무엇인지 알려주실 수 있나요? 이전 유형의 환경 변수 값을 어떻게 변경합니까?

답변1

이 명령으로 설정된 변수는 export해당 변수를 생성한 쉘(및 해당 쉘의 하위 쉘)에서만 액세스할 수 있습니다.

export매뉴얼 페이지

쉘은 지정된 이름에 해당하는 변수에 내보내기 속성을 할당해야 하며, 이는 이후에 실행되는 명령 환경에 해당 변수를 배치합니다. 변수 이름 뒤에 =word가 오면 변수 값은 word로 설정되어야 합니다.

반면 Systemd는 자체 환경 변수 블록을 유지하고 와 같은 파일을 읽지 않습니다. .bashrc이러한 환경 변수는 생성된 프로세스에 전달됩니다.systemctl매뉴얼 페이지 - 환경 명령 섹션.

시스템 환경 변수를 설정하는 방법에는 여러 가지가 있습니다.Arch wiki - 시스템/사용자 환경 변수.

관련 정보