我正在尝试检测iTerm2
的存在,如果我在iTerm2(echo -n $'\e[5n'; read -s -t 0.1 line; printf '%q\n' "$line"
)中运行以下命令,终端将以$'\033'\[ITERM2\ 3.2.1n$'\033'\[0n
进行响应
但是,如果我正在终端中运行tmux会话,则tmux会做出响应,什么也没给我。
有什么主意我可以要求tmux查询物理终端以报告其状态吗?
以下是tmux源中的[5n
的描述:https://github.com/tmux/tmux/blob/486ce9b09855ae30a2bf5e576cb6f7ad37792699/tools/ansicode.txt#L577
这可能仅是iTerm2,因为我没有在其他任何终端上看到响应
答案 0 :(得分:1)
根据freenode的#tmux中的ft(如this Super User answer所示),您可以使用:
'\ePtmux;\e" STUFF_FOR_THE_TERMINAL_HERE "\e\\'
因此,它将类似于:
echo -n $'\ePtmux;\e\e[5n\e\\'