分割画面を作成し、Bashスクリプトでコマンドを実行するには?

分割画面を作成し、Bashスクリプトでコマンドを実行するには?

2番目のコマンドは、最初のコマンドが終了するまで実行されず、最初のコマンドを使用してバックグラウンドで実行しようとすると、次のコマンドが機能せず、次の&エラーが発生します。

まず、バックグラウンドで実行を試しましたが、-d -m分割は機能しませんでした。

端末に接続する必要があります。

screen -S test -t foo long_lived_process_1
screen -S test -X split
screen -S test -X focus down
screen -S test -X screen -t bar long_lived_process_2

ベストアンサー1

使用時にscreen -S test some command画面をバックグラウンドで送信せずにすぐに点灯します。したがって、これらのコマンドを実行するスクリプトは停止し、その画面に対して次のコマンドは実行されません。

だから最初にバックグラウンドで送信してから、別のコマンドを送信する必要があるようです。

screen -S test -d -m top 
screen -S test -X title foo
screen -S test -X split
screen -S test -X focus down
screen -S test -X screen -t bar watch free
screen -S test -R 

仕事を始めず、-S test -d -m -t foo topタイトルもつかまなかったが、とにかく最初のウィンドウは特別なケースでした。 (ダミーオブジェクトとして保持し、最後に実行することを決定しない限り-X select 0-X kill

にコマンドを入れることもできますscreenrc。マニュアルページには、このように設定する例があります。

おすすめ記事