在 bash 中获取 byobu 会话的窗口名称

在 bash 中获取 byobu 会话的窗口名称

有没有办法在 shell 中获取 byobu 窗口编号(或窗口名称)?

我希望相同的代码根据其运行的窗口表现出不同的行为:我正在考虑这样的事情(搜索的是 getByobuWindowNumber()):

$/bin/bash
windowName=getByobuWindowNumber()

if ($windowName=="1")
then
    infile="infile1.txt"
fi

if ($windowName=="2")
then
    infile="infile2.txt"
fi

do.something($infile)

提前致谢。

马蒂亚斯

答案1

与此同时,我找到了一个答案。我希望这对其他寻求此主题帮助的人有所帮助:

可以通过环境变量获取会话编号TMUX_PANE;只需通过获取即可windowName=$TMUX_PANE;就是这样:)。集成在上面的代码示例中:

#!/bin/bash
windowName=$TMUX_PANE

if [[ $windowName == "%1" ]]
then
    infile="infile1.txt"
fi

if [[ $windowName == "%2" ]]
then
    infile="infile2.txt"
fi

do.something($infile)

顺便说一句,有一个环境变量$BYOBU_WINDOW_NAME。但在我的系统上它没有正确设置(所有窗口中都一样,尽管我自己给窗口起了不同的名字)。但上面的解决方案无论如何都有效......

相关内容