tmuxで、「セッションがあればアタッチ、なかったら作成」という形で立ち上げる方法。

tmuxでセッションを使う場合、tmux -a とすれば以前のセッションにアタッチしてくれますが、セッションがない場合、
no sessions
ってそっけなく言われてしまいます。
gnu screenの時は、「screen -D -RR」とすることで、セッションがあってもなくてもよきに計らってくれるので重宝していました。
tmuxで同様のことをする方法ってないのでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/12/13 23:27:42
  • 終了:2011/12/15 08:05:39

ベストアンサー

id:TransFreeBSD No.1

TransFreeBSD回答回数667ベストアンサー獲得回数2682011/12/14 08:47:30

ポイント500pt

たぶんソケット使ってるだろうからそれを見て……とか考えてググったら
http://filmlang.org/computer/tmux

tmux -a || tmux

単純に失敗したら普通に立ち上げればいいわけですね(^^;
事前に判定したい場合、ソケットの有無見れば良いと思う。デフォルトなら

if [ -S /tmp/tmux-*/default ]; then
  tmux -a $@
else
  tmux $@
fi

引数渡すのも付けてこんなかんじ?
こういうのをエイリアスとかスクリプトとかで作っておくと良いかと思います。

id:mogya

いえーい。動きました。結果を見て分岐書くのはめんどくさそうと思っていたのですが、こんなシンプルに出来たのですね。どうもありがとうございました。

2011/12/15 08:06:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません