이 명령은 systemctl --user show-environment
환경 변수 목록을 반환할 수 있습니다. 그런데 저는 주로 환경 변수 export
를 설정하고 echo $...
. export
명령을 사용합니다. 그렇다면 이 두 환경 변수의 차이점이 무엇인지 알려주실 수 있나요? 이전 유형의 환경 변수 값을 어떻게 변경합니까?
답변1
이 명령으로 설정된 변수는 export
해당 변수를 생성한 쉘(및 해당 쉘의 하위 쉘)에서만 액세스할 수 있습니다.
쉘은 지정된 이름에 해당하는 변수에 내보내기 속성을 할당해야 하며, 이는 이후에 실행되는 명령 환경에 해당 변수를 배치합니다. 변수 이름 뒤에 =word가 오면 변수 값은 word로 설정되어야 합니다.
반면 Systemd는 자체 환경 변수 블록을 유지하고 와 같은 파일을 읽지 않습니다. .bashrc
이러한 환경 변수는 생성된 프로세스에 전달됩니다.systemctl
매뉴얼 페이지 - 환경 명령 섹션.
시스템 환경 변수를 설정하는 방법에는 여러 가지가 있습니다.Arch wiki - 시스템/사용자 환경 변수.