Bash

通過 bashrc 執行腳本會導致嵌套 tmux 窗格

  • August 20, 2015

我在腳本文件中使用以下 tmux 程式碼tmux-dev.sh並將其添加到 bash 中bash /home/rohit/tmux-dev.sh

tmux new-session -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d

該腳本會導致嵌套 tmux 窗格並給出錯誤:窗格太小。令我驚訝的是,bash tmux-dev.sh當放入title and commandgnome-terminal 的盒子時,它工作得非常好,並給出了這個螢幕 截屏

請幫我解決這個問題。我使用的是 ubuntu 14.10。

**PS–**請遠離建議任何工具,我在這裡解釋這種行為和原始 shell 腳本解決方案。

正如@fiximan 建議的那樣,我嘗試測試 tmux 會話是否存在,然後執行一些程式碼,最後,通過一些調整,我成功地獲得了我想要的佈局。這是我添加到我的.bashrc

test -z "$TMUX" && (tmux new-session -d && tmux split-window -h && tmux split-window -v && tmux -2 attach-session -d)

我將分解上述內容以進行解釋:

  1. test -z "$TMUX" **->**這會測試是否已經有一個 tmux 會話正在執行,從而防止嵌套 tmux 會話
  2. tmux new-session -d **->**創建一個新會話
  3. tmux split-window -h **->**垂直分割視窗
  4. tmux split-window -v **->**水平分割視窗
  5. tmux -2 attach-session -d**->**附加會話

**注意——**我使用&&的是 operator 而不是||operator,因為後者會短路。

引用自:https://unix.stackexchange.com/questions/224296