さまざまなタブで端末を開き、各タブでssh
を使用してサーバーにログオンし、各タブでコマンドを実行するスクリプトを作成します。例:htop
。
以下のスクリプトは、サーバーにすべてログインしている4つのタブを持つターミナルを開きます。しかし、cmd=
行にhtop
コマンドを追加しようとすると、機能しなくなります...
#bin/bash
tab="--tab"
cmd="bash -c 'ssh user@Host';bash"
foo=""
for i in 1 2 3 4; do
foo+=($tab -e "$cmd")
done
gnome-terminal "${foo[@]}"
exit 0
私はこれを試しました...
cmd="bash -c 'ssh user@Host htop';bash"
...ssh --help
は、ssh
の構文が次のようになっているためです。
使用法:ssh [user @] hostname [コマンド]
最も単純な形式では:
ssh -t user@Host "command; bash"
-t
はここで重要な部分です。ホストがプロセスに仮想端末を割り当てるように強制します。これにより、ホストは開いたままになります。
サーバーの負荷でhtopを実行したい場合は、最後のbash
を省略できますが、htopを終了すると、ローカル端末に戻ることになります。