Terminal 终端和iTerm具有不同的zsh主题

Terminal 终端和iTerm具有不同的zsh主题,terminal,zsh,iterm,iterm2,Terminal,Zsh,Iterm,Iterm2,问题就在这里。我目前正在使用zsh中的agnoster主题。它在iTerm中看起来很棒,但在terminal中看起来像这样 换句话说,它看起来真的很丑。因此,我对两种解决方案感兴趣: 终端和iTerm具有不同的zsh主题。所以我可以用agnoster来表示iTerm,用其他一些主题来表示terminal。(例如:robbyrussell在终端中看起来很好,所以我希望iTerm使用agnoster,终端使用robbyrussell) 进行一些修改,使“agnoster在终端中看起来很好” 我让

问题就在这里。我目前正在使用zsh中的
agnoster
主题。它在iTerm中看起来很棒,但在terminal中看起来像这样

换句话说,它看起来真的很丑。因此,我对两种解决方案感兴趣:

  • 终端和iTerm具有不同的zsh主题。所以我可以用agnoster来表示iTerm,用其他一些主题来表示terminal。(例如:
    robbyrussell
    在终端中看起来很好,所以我希望iTerm使用
    agnoster
    ,终端使用
    robbyrussell

  • 进行一些修改,使“
    agnoster
    在终端中看起来很好”


  • 我让它工作了,很明显我的if条件中缺少了一个空格,这使得它完全无用

    if [ "$TERM_PROGRAM" = "Apple_Terminal" ]; then
        ZSH_THEME="robbyrussell"
    else
        ZSH_THEME="agnoster"
    fi
    

    终端iTerm设置环境变量
    TERM\u程序

    Terminal:Apple\u终端

    iTerm:iTerm

    如果使用
    PathFinder
    的终端,
    TERM\u程序
    未设置

    打开oh my zsh配置并使用以下结构:

    OHMYTHEMES=(
        # your favourite themes
    )
    
    
    [ "$TERM_PROGRAM" = "iTerm" ] && OHMYTHEMES+=agnoster
    
    ZSH_THEME=${OHMYTHEMES[(($RANDOM % ${#OHMYTHEMES} + 1))]} # chooses theme among your favourite randomly
    
    就您所知道的
    zsh
    而言,我假设您对shell脚本了解最少,并且可以根据您的代码调整它


    相关问题:

    我已经让它工作了。不过谢谢你的回复。在我的if条件下,“$TERM\U PROGRAM”后面缺少一个空格,这是导致错误的原因。没问题,别担心。顺便说一句,这些问题是针对超级用户和askdifferent的。非常感谢!我也为Jetbrains终端做了同样的事情(
    pyCharm
    idea
    ):
    如果[“$TERMINAL_EMULATOR”=“JetBrains绝地术语”];那么ZSH_THEME=“fwalch”else ZSH_THEME=“agnoster”fi
    我的情况与此完全相同,你的情况对我有效,谢谢!