名前でtmuxウィンドウインデックスを取得する

名前でtmuxウィンドウインデックスを取得する


特定の名前のウィンドウがゼロまたは1つある場合は、tmuxの外部から特定のセッションのウィンドウ名にウィンドウインデックスを取得する方法はありますか?
同じ名前のウィンドウが作成されないようにするには、この情報が必要なので、
接続するウィンドウのインデックスを取得するか、指定された名前のウィンドウがない場合は新しく作成します。

答え1

この情報はを通じて入手できますtmux list-windows。すべてのセッションのすべてのウィンドウを一覧表示するには、この-aフラグを使用するか、セッションIDを指定します-t

ウィンドウIDが必要な場合は、次のように使用できます。

tmux list-windows -F '#I "#W"' | awk '$2 ~ /"NAME"/ { print $1 }'

それが存在するかどうか知りたい場合:

NAME=foo
if tmux list-windows -F '#W' | grep -q "^$NAME\$"; then
    echo $NAME exists
else
    # create new window ...
fi

関連情報