複数のタブを持つgnome端末を開き、各タブでいくつかのコマンドを実行します。

複数のタブを持つgnome端末を開き、各タブでいくつかのコマンドを実行します。

これが私が達成したいものです:

  1. 5つのタブを持つgnome端末を開きたいです。
  2. 各タブで一連のコマンド(5~10個のコマンド)を自動的に実行したいと思います。
    最初のタブ:明確なケースビューを設定してから、1つ以上のコマンドを実行する必要があります。
    2番目のタブ:サーバーにログインし、いくつかのコマンドを実行する必要があります。
    3番目のタブ:実行のみを実行する必要があります。いくつかのコマンド

gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c \"ct setview myViewName; cal\"" –tab --tab --tab(うまく機能し、ビューが設定されていますが、それ以降はコマンドは実行されません)

私はこれを試して、以下のスクリプトで実行してみました。

gnome-terminal --geometry 125x18-0-26 --tab -t "some title" -e /home/ekido/Desktop/MyScripts/myScript

#!/usr/bin/expect
exec gnome-terminal --geometry 125x49-0+81 –tab
spawn ssh usert@server
expect "password"
send "*******\r"
expect "user@server100:~>"
send “some command\r"
expect "user@server100:~>"
send “some command"
interact 

例では、その行を削除して別のファイルからスクリプトを呼び出すとexec gnome-terminal --geometry 125x49-0+81 –tab正常に動作します。サーバーにログインしてすべてのコマンドを実行します。誰でもこの問題を解決するのに役立ちますか?

各タブに対して呼び出されるスクリプトを作成することはオプションではありません。それぞれ5〜7個のタブがある5つの端末で終わるので、25〜30個のスクリプトを作成する必要があります(助けになるよりも費用がかかります)。

ベストアンサー1

これは私のコンピュータで動作するようです。

gnome-terminal --geometry=260x25-0+0 --tab -e "bash -c 'date; read -n1'" --tab -e "bash -c 'echo meow; read -n1' " --tab --tab

-eで実行されたプロセスは、実行が終了すると終了します。この場合、bashはロードされ、渡されたコマンドを実行し、すぐに存在します。ユーザー入力を待つために読み取りステートメントを配置しました。これにより、この例に示すように、キーが押されるまでタブは閉じられません。それ以外の場合は、他の2つのタブがすぐに実行されて閉じるため、2つのタブだけが開いているように見えます。

おすすめ記事