비 대화식 원격 세션에서 환경 모듈 을로드 하고 그에 따라 환경 변수를 설정 하려고합니다 .
예를 들어, 내 bashrc에서 나는 보통 전화
module load /path/to/cmake/3.x.x
로그인 쉘에서 "cmake --version"을 실행하면
cmake v3.x.x
그러나 비 대화식 원격 세션으로 이것을 실행하면 cmake v2.xxx가 귀머거리로 간주됩니다.
ssh me@machine 'cmake --version'
이 문제를 해결하기 위해 / etc / ssh / sshd_config를 "PermitUserEnvironment yes"로 업데이트하려고했습니다.
~ / .ssh / environment 파일 내에서 환경 변수를 적절하게 설정하고 $ PATH를 업데이트 할 수 있습니다. 이것은 작동하며 ssh를 통해 원격으로 명령을 실행할 때 경로 가 업데이트 된 것을 볼 수 있습니다 . 즉
ssh me@machine 'echo $PATH'
~ / .ssh / rc 파일을 만들어 DOES가 호출되는지 확인할 수 있습니다. 그러나 동일한 "모듈로드 /path/to/cmake/3.xx"를 넣어도 여전히 v2를로드하는 것을 볼 수 있습니다. .ssh / rc 내에서 PATH를 업데이트하고 내 보내면 마찬가지입니다. 업데이트되지만 원격으로 사용되는 것과 다른 쉘에 적용하는 것 같습니다.
~ / .ssh / environment가 현재 쉘의 항목을 수정하는 이유를 이해하지 못하지만 ~ / .ssh / rc는 다른 쉘로 수정합니다.
환경 모듈을 원격으로 사용하는 방법에 대한 아이디어가 있습니까?
감사