%20%E3%81%8C%E6%97%A2%E5%AD%98%E3%81%AE%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E8%AA%A4%E3%81%A3%E3%81%A6%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82.png)
「tmx」を使って「foos」というtmuxセッションを作成しました。しかし、tmuxは私を既存のセッションに接続します。
指定されたセッションを直接作成したいと思います。より良い点は、すべてのコンテキストでセッションを処理するときに「tmx」をプレフィックス一致から正確な一致に切り替えたいと思います。
私の "tmx"スクリプトには多くのことが行われていますが、関連する部分は次のとおりです。
if tmux has-session -t "${name}" &> /dev/null; then
exec env SSH_AUTH_SOCK="${d}/${s}" ${f} tmux "${args[@]}" attach-session -t "${name}"
else
exec env SSH_AUTH_SOCK="${d}/${s}" ${f} tmux "${args[@]}" new-session -s "${name}"
fi
答え1
~からman 1 tmux
:
target-session
以下を順番に試してください。
- セッションIDの前に
$
。- セッションの正確な名前(
list-sessions
コマンドとしてリストされています)- たとえば、セッション名の先頭は名前付き
mysess
セッションと一致しますmysession
。fnmatch(3)
パターンマッチングセッション名。
したがって、これは意図的に設計されています。正確な一致がなければ、あまり正確でない一致もあります。しない限り… …
セッション名の前にプレフィックスが付いている場合は、
=
正確な一致のみが許可されます。したがって、代わりに=mysess
正確な一致のみが一致します。mysess
mysession
解決策:-t "=${name}"
適切に使用してください。