s
다음과 같이 가상 환경을 활성화하는 원격 서버에서 호출되는 스크립트가 있습니다.
source venv/bin/activate
SSH를 통해 서버에 연결되면 다음을 통해 환경을 활성화할 수 있습니다.
. s
다음과 같이 SSH를 통해 서버에 연결합니다.
ssh -t user@host "cd /path/to/dir ; /bin/bash"
작업 디렉터리를 변경하는 것 외에도 /path/to/dir
서버에 로그인할 때마다 즉시 환경을 활성화할 수 있으면 좋을 것 같습니다. 그러나 . s
SSH 명령을 어디에 입력하든 -c
for 사용 여부에 관계없이 /bin/bash
세션은 항상 즉시 종료됩니다.
답변1
새로운 소스 파일을 사용하세요./home/user/.rcforssh
#rc for ssh
. /home/user/.bashrc
. /home/user/venv/bin/activate #or whichever location
그리고 로그인
ssh -t user@host "cd /path/to/dir ; /bin/bash --rcfile /home/user/.rcforssh"
참고 사항: source
POSIX는 아니지만 .
.
OP의 요구 사항을 지정하려면 다음 토론을 업데이트하세요.
rcforssh
수정된 소스 파일을 동적으로 생성하고 삭제하려면 다음을 사용할 수 있습니다.
ssh -t user@host "cd /path/to/dir ; echo '. ~/.bashrc ; . s ; rm rcforssh' > rcforssh ; /bin/bash --rcfile rcforssh"
즉, 명령을 사용하여 소스 파일을 생성 echo
하고 해당 파일에 추가 및 삭제합니다.