質問: 1つのbashスクリプトから複数の画面セッションを起動するにはどうすればよいですか? 私は次のようなスクリプト(動作しません)を作成しました:#!/bin/sh screen -dms "somename" somecommand for i in {0..5}; do screen -dms "name$i" anothercommand $i done 何らかの理由で、これをコピーして端末に貼り付けると、期待どおりに7つの切り離された画面セッションが作成されます。ただし、スクリプト内から実行すると、screen -lsを実行すると、最初のセッション「somename」しか取得されません。編集:同じことが別の方法で達成できる場合(たとえば、セッションの代わりに複数の画面ウィンドウを使用する場合)、それらのソリューションも開きます。ありがとう!
回答: 残念ながら、私はあなたの コメント に答えることができません。私は評判が低すぎるので、別の答えに入れなければなりません。screenrc構成ファイルを使用して、複数のウィンドウで単一画面のセッションを作成できます。 画面のマンページ はすべてを教えてくれますが、問題を解決するために必要な最も重要なことは次のとおりです。次のscreenrcは、2つのウィンドウを持つ画面セッションを作成します。 1つのウィンドウはbashを実行し、もう1つのウィンドウはpythonを(インタラクティブに)実行します。sessionname myscreensession screen -t command1 0 bash screen -t command2 1 python 名前myscreensessionは、screen -lsを実行するときに表示され、screen -rのパラメーターとして使用できます。文字列commandnは、画面セッション内のウィンドウ名を指定します。番号(0と1)は、コマンドを実行するウィンドウを指定します(後続の番号を使用する必要はありません)。後で、実行中の画面セッションに新しいコマンドを含む別のウィンドウを追加することもできます。と:screen -x screen -s myscreensession -t command3 2 python3 これにより、既存のセッションでpython3を実行する新しいウィンドウが作成されます。