SSH経由で別のCentOSに接続するときにPS1を変更したいと思います。
strshell = 'PS1="remote!"'
os.system("ssh -i %s -l%s -p%s %s %s"%(SSH_KEY,SSH_USER,SSH_PORT,des,strshell))
SSHは自動的に終了します。私はこの殻の中にとどまりたいです。達成する方法。
私は別の方法で置き換えました。
tin = ' sudo -i ; export PS1="Remote! \W :"; exec /bin/bash -i'
os.system("ssh -i%s -l%s -p%s %s -t%s" % (SSH_KEY, SSH_USER, SSH_PORT, des, tin))
ところで、リモートコンピュータプロンプトの代わりにローカルコンピュータプロンプトを変更しました。なぜ?
os.systemはPython関数です
ベストアンサー1
sudo -i
ターゲットユーザーとしてログインシェルを実行します。残りはexport PS1...
シェルが終了した後にのみ実行されます。
また、~/.bashrc
PS1をオーバーライドして環境に渡すこともできますが、これは役に立ちません。
あなたは試すことができます:
ssh -t host 'sudo env PROMPT_COMMAND="PS1=\"Remote! \W: \"
unset PROMPT_COMMAND" bash -l'
(対象ユーザーが~/.bashrc
これを設定していないと仮定$PROMPT_COMMAND
)。