Linux

tmux - 在新視窗中列出所有視窗的最後一行輸出

  • October 12, 2018

我正在執行一個有 40 個視窗的 tmux 會話。我需要創建一個概述視窗,列出每個螢幕的最後一行,並將每個列表更新為相應視窗的輸出。

這個想法是列舉所有的視窗,或者更確切地說是所有的窗格,因為一個視窗可以有幾個。然後擷取每個窗格的輸出並顯示擷取文本的最後一行。將其放入腳本中:

tmux list-windows -F '#I'  |   
 while read w; do tmux list-panes -F '#P' -t $w | 
    while read p; do echo -n  "${w}.${p}" ; tmux capture-pane -p -t "${w}.${p}" | 
       tail -n 1 
    done 
 done

假設您將這段程式碼放入/some/file 之後,在您的 40 視窗 tmux 會話中,您創建新的監控視窗,然後執行

watch -n 1 'bash /some/file'

在那裡。該echo -n "${w}.${p}" ;部分將在行前添加視窗和窗格索引,我發現了解輸出來源非常有用。你可能不想要它。

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