同じコードを異なるパラメータで実行するために、複数作成しましたscreen
。現在行っている方法は、1 つの画面を手動で接続し、コマンドと引数を渡してから、Ctrl a+d
その画面を切り離すことです。次に、別の画面を再度接続し、再度引数を渡して、その画面から切り離します。このプロセス全体を自動的に実行する bash スクリプトを作成することは可能ですか?
答え1
複数のscreen
セッションを作成することは、おそらく最善の選択肢ではありません。Screen は、1 つのセッション内に複数のウィンドウを配置するという概念をサポートしており、これにより、そのようなコレクションの処理が容易になります。などがあり^A 1
、を使用してウィンドウを切り替えたり、 を使用してウィンドウを一覧表示したりできます。^A 2
^A '
^A "
^A w
1 つの画面セッションを使用する場合、セッションを開始し、次のようなコマンドを内部で実行できます。
#!/bin/sh
screen -d -m -S test
screen -S test -X screen -t title somecommand someargs...
screen -S test -X screen -t othertitle somecommand otherargs
screen -d -m
新しい分離セッションを開始し、-S
セッションに名前を付けるか、名前でセッションを参照します。 は、-X
残りのコマンドラインをコマンドとして実行中のセッションに送信し、screen
コマンド( 内screen
)は新しいウィンドウを開き、そこでコマンドを実行します。を-t
と共に使用して、screen
窓タイトル。
または、 のコマンドをscreen
ファイルに入れて、 を使用して:source
ファイルを実行することもできます ( と同様.screenrc
)。 コマンドがサポートする例とリファレンスについては、マニュアルを参照してくださいscreen
(たくさんあります)。