質問: ### shellscriptから複数のタブでコマンドを実行する方法 ubuntuでrosを使ってロボットのシミュレーションをしています。複数のプログラムを起動するために、毎回複数のタブを開きそれぞれのタブで必要なプログラムを起動しているのですが、めんどくさいので楽な方法がないか調べてみたところ、予めシェルスクリプトに起動するプログラムを書いておくという方法を見つけました。シェルスクリプトは書いたことはなかったので少し調べて以下のように書いてみました。 ``` #!bin/bash gnome-terminal --tab --active ls ``` プログラムをターミナルで実行すると新しいタブを開きその開いたタブでlsコマンドを実行してほしいのですが、上記のプログラムだと、新しくタブを開き、カーソルも新しく開いたタブに移動するのですが、lsコマンドはプログラムを開いたタブで実行されます。 どうすれば新しく開いたタブでコマンドを実行できるでしょうか? 初めての質問ですので、質問の仕方に関してわかりにくい点などあればすみません。ご指摘いただけると幸いです。
回答: 手元にgnome-terminalが無いので動作は試していないのですが、 たいていのターミナルは、コマンドラインに起動時に実行するコマンドが指定できると思います。 https://linuxfan.info/gnome-terminal-with-command を見ると、 gnome-terminal --tab --active -- ls gnome-terminal --tab --active -- bash -c 'ls ; sleep 10' 等で出来そうな気がします。