2017-01-27 4 views
1

特定の画面セッションのすべてのタブをコマンドラインから表示する方法を見つけようとしています。具体的には、特定の名前のタブが存在するかどうかを確認したいだけです。デタッチ中にコマンドラインから画面セッション内のタブを一覧表示する方法

私はセッション内に新しいタブを作成し、そこにスクリプトを実行してタブ名のリストを作成します。何らかの理由で、1つまたは2つのタブが作成されないことがあり、これがトップレベルのスクリプトをスローします。特定のタブが作成されたかどうかをチェックし、そうでなければ、私が戻ってデータを見るときにこれを知らせるログを持っているかどうかを確認する、トップレベルのスクリプトに謝辞を追加します。

ここでは、特定のタブが作成されない理由を説明するためのトップレベルのコードスニペットを示します。私の推測では、タブがあまりにも速く作成され、潜在的にエラーが発生する可能性があります。名前の競合はありません。

for f in $PWD/*; do 
    if [ -d $f ]; then 
    CMD="cd $f; bash cmd" 

    # Creates a new screen window with title '$f' in existing screen session 
    screen -S $SESSION_NAME -X screen -t $f 

    # Switch terminal to bash 
    screen -S $SESSION_NAME -p $f -X stuff "bash$(printf \\r)" 

    # Launch $CMD in newly created screen window 
    screen -S $SESSION_NAME -p $f -X stuff "$CMD$(printf \\r)" 

    fi 
done 

ありがとうございました!

答えて

1

あなたには、いくつかのコマンドは、今例えば、このフラグを使用してリモートセッションから照会することができwindows

-Qコマンドで-Qパラメータを使用することができます"screen -Q windows"。これらのコマンドは、照会プロセスの標準出力への応答を に送信します。コマンドにエラーがあった場合、クエリ処理はゼロ以外のステータスで終了します。

関連する問題