나는 Terminal.app와 iTerm을 사용하는데 둘 다 여러 탭과 여러 창을 통해 동시에 여러 셸을 실행하는 것을 지원합니다. 종종이 기능을 사용하지만 결과적으로 환경 변수 설정을 변경하려면 일반적으로 열어 본 모든 단일 탭과 창에서 동일한 명령을 한 번 실행해야합니다. 나는 미래에 열립니다. 셸이 서로 통신하여 환경 변수를 한 번 변경하고 현재 실행중인 다른 모든 셸로 변경 내용을 전파 할 수 있습니까?실행중인 모든 셸에서 환경 변수를 수정하려면 어떻게해야합니까?
.bashrc
과 같은 스타트 업 파일에서 env 변수를 정적으로 설정할 수 있다는 것을 알고 있습니다. 나는 또한 부모 껍질의 환경을 상속받을 수있는 서브 셸을 일반적으로 또는 screen을 통해 가질 수 있음을 알고 있습니다. 이들 옵션 중 어느 것도이 문제를 다루지 않습니다. 이 질문은 특히 현재 실행중인 여러 쉘의 환경을 동시에 동적으로 변경하는 것에 관한 것입니다.
이상적으로는이 변수의 내용을 언제든지 디스크에 쓰지 않고이 작업을 수행하고 싶습니다. 내가 이것을 할 수 있기를 원하는 이유 중 하나는 해시 된 암호와 같은 env 변수에 중요한 정보를 설정하고 나중에 다른 쉘에서 참조 할 수 있도록하는 것입니다. 로그인 할 때 이러한 변수를 한 번 설정하고 로그 아웃 할 때까지 또는 시스템을 다시 시작할 때까지 모든 쉘에서 참조 할 수 있어야합니다. (이것은 ssh-agent
이 작동하는 방식과 유사하지만, 알고있는 한, ssh-agent
은 env 변수가 아닌 SSH 키만 저장합니다.)
쉘은 이렇게 통신 할 수 있습니까?
죄송합니다. 그러나 이것은 서버 오류 질문입니다. – rook