根据我使用的模拟器选择自定义 zsh-prompt

根据我使用的模拟器选择自定义 zsh-prompt

我使用 powerlevel9k-theme 来获得精美的 zsh 提示符。但是我用来获得所需提示的字体和字形与我用来 ssh 进入工作站的终端模拟器(Android 上的 JuiceSSH)不兼容。

我试图让我.zshrc“检测”正在使用哪个模拟器。在我的工作站上,我使用 gnome-terminal。所以我编写了一个简单的函数来检查 gnome 特定变量是否存在$VTE_VERSION

## functions.zsh: Choose theme based on emulator
function choosetheme() {
 if [ -n "${VTE_VERSION+1}" ]
 then
     zgen load bhilburn/powerlevel9k powerlevel9k ## fancy theme
 else
     zgen oh-my-zsh themes/avit ## basic theme for Android use
 fi
}

然后在我的.zshrc

source functions.zsh
choosetheme

但结果是无论哪个模拟器都会显示powerlevel9k提示。

有什么想法如何完成在不同模拟器上有不同提示/主题的任务吗?或者也许我忽略了一些事情?

答案1

命令

ps -p$PPID | awk '{print $4}'

将返回两行,第二行正是您正在使用的终端模拟器。希望我有帮助=)

相关内容