SSHを介してサーバーに接続し、コマンドを実行しようとします。それが今までです。
違いは、このサーバーではbashでzshを起動することです。だから私の.bashrcには次のコマンドがあります。
exec /bin/zsh -l
これにより、ログインすると自動的にz-shellが起動します。私はそのまま維持したい。
残念ながら、bashスクリプトを実行してサーバーに接続し、コマンドを実行しても機能しません。エラーメッセージはなく、コマンドは無限に実行されます。
シェルの変更にもかかわらず、これを行う方法はありますか?
ありがとうございます!
答え1
解決策が見つかりました。
.bashrcでシェルがインタラクティブモードであることを確認してください。その場合は、z シェルを開きます。
if [[ $- == *i* ]]
then
exec /bin/zsh -l
fi
これにより、サーバーに接続してコマンドを実行するbashスクリプトを実行すると、zシェルが起動しなくなります。