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
そのファイルに追加および削除します。