ऊपर दिए गए उदाहरण से अधिक जटिल आदेशों हो सकती है। मैं एक ऐसा आदेश बनाना चाहता था जो किसी मौजूदा tmux सत्र में वापस आ जाए, यदि कोई मौजूद है लेकिन पहले से संलग्न नहीं है, या कोई नया उपलब्ध नहीं है तो कोई नया नहीं है। ऊपर
function tmosh() {
mosh $1 -- (tmux ls | grep -vq attached && tmux at -t $(tmux ls | grep -vm1 attached | cut -d: -f1)) || tmux new
}
लेकिन वह काम नहीं करता, मूल प्रश्न प्रति:
this example को देखते हुए, मैं कुछ इस तरह से किया जाएगा है।
tmux-reattach-if-exists
बस के होते हैं जो:
(tmux ls | grep -vq attached && tmux at -t $(tmux ls | grep -vm1 attached | cut -d: -f1)) || tmux new
तो मैं जैसे mosh से ग्राहक पर स्क्रिप्ट बुलाया करते थे
मेरे समाधान अब तक मेजबान सर्वर पर एक आवरण स्क्रिप्ट है इस:
function tmosh() {
mosh $1 -- tmux-reattach-if-exists
}
अगर वहाँ एक समाधान है कि सीधे .tmux.conf के माध्यम से यह कर सकते हैं कि wo है उल महान हो लेकिन मैं इसे काम नहीं कर सका।
स्रोत
2015-04-02 15:21:52
मुझे लगता है कि क्या आप दूसरा समाधान में चाहते 'सबसे दूरस्थ है - tmux A' अन्यथा यह एक नया सत्र बजाय एक पहले से मौजूद है कि करने के लिए संलग्न की हर बार पैदा करेगा। – Mortimer
आप 'tmux new-session -A-somenameforsession' भी कर सकते हैं – igor