Bash
通過 bashrc 執行腳本會導致嵌套 tmux 窗格
我在腳本文件中使用以下 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 command
gnome-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)
我將分解上述內容以進行解釋:
test -z "$TMUX"
**->**這會測試是否已經有一個 tmux 會話正在執行,從而防止嵌套 tmux 會話tmux new-session -d
**->**創建一個新會話tmux split-window -h
**->**垂直分割視窗tmux split-window -v
**->**水平分割視窗tmux -2 attach-session -d
**->**附加會話**注意——**我使用
&&
的是 operator 而不是||
operator,因為後者會短路。