ZSH:在终端中隐藏计算机名

ZSH:在终端中隐藏计算机名,zsh,prompt,Zsh,Prompt,使用终端时,如何在提示中隐藏计算机名 目前,它同时显示用户名和计算机名,如下所示: 通过删除anwarchoukah@anwars-mbp,因为我知道我是谁:)多亏了韦斯·博斯的精彩视频系列,我终于找到了答案。。这很简单。类似的东西是在ZSH主题中设置的 打开.zshrc,将主题从ZSH_theme=“agnoster”(我正在使用的)更改为其他内容 韦斯·博斯(Wes Bos)制作了一个可爱的主题,名为,它正是我想要的:) 我现在已经将其更改为ZSH_THEME=“cobalt2”打开.zs

使用终端时,如何在提示中隐藏计算机名

目前,它同时显示用户名和计算机名,如下所示:


通过删除
anwarchoukah@anwars-mbp
,因为我知道我是谁:)

多亏了韦斯·博斯的精彩视频系列,我终于找到了答案。。这很简单。类似的东西是在ZSH主题中设置的


打开
.zshrc
,将主题从
ZSH_theme=“agnoster”
(我正在使用的)更改为其他内容

韦斯·博斯(Wes Bos)制作了一个可爱的主题,名为,它正是我想要的:)


我现在已经将其更改为
ZSH_THEME=“cobalt2”
打开
.zshrc
,找到读取
导出PS1
的行,或者可能是
导出提示符

删除用于主机名的变量,可以是%m或%m

您可以使用颜色,也可以在右侧显示提示(或一些信息)

  • 第一步。通过
    vim.zshrc

  • 第二步。转到文件的末尾

  • 粘贴此代码:

  • 小心地再次缩进代码


    编辑-解释其作用

    这将删除machine@user如果出现以下情况,则从提示中选择名称: -您没有以默认用户身份登录 -您不在ssh客户端外壳中

    对于大多数人来说,这是不需要的,但如果您定期使用ssh连接到其他机器并打开多个终端(如remote sys admin type work),那么这是非常有用的,因此当您查看终端时,您知道您在该终端内登录的是哪台机器和用户

    如果您不需要/管理这种类型的复杂性,那么可以使用其他答案之一来修改导出提示/PS1值

    *警告*

    如果您使用的是自定义shell或主题,这可能不起作用,尽管提示将不再显示您的计算机和用户名,但它将继续抛出错误:

    prompt_context:2: command not found: prompt_segment
    
    例如,你可以看到这个(非常流行)不起作用。这是因为Powerlevel9k主题使用了它自己的魔力,您只需将命令添加到~/.zshrc文件中即可获得相同的结果,例如:

    POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context)
    

    更多信息。

    尝试将
    导出默认值_USER=“$(whoami)”
    添加到您的
    .zshrc
    文件中

    只需将此添加到您的
    ~/.zshrc
    文件中:

    export DEFAULT_USER=\`whoami`
    

    ~/.zshrc
    文件中的
    默认用户
    设置为您的常规用户名。您可以通过在终端中执行
    whoami
    来获得准确的用户名值。 大概是这样的:

    export DEFAULT_USER=username
    

    只需在MacOS 10.15 Catalina上的
    prompt_context(){}
    中添加
    .zshrc

  • 在文本编辑器中打开文件
    /private/etc/zshrc
  • 找到注释:
    #默认提示
  • 修改如下所示的行:
    PS1=“%n@%m~%&#”
  • 保存文件。系统将提示您输入密码以进行保存
  • 加载新的终端窗口 例如,您可以:

    • 删除
      “%n@%m”
      以删除用户名和计算机名
    • 删除
      “%n”
      以删除用户名
    • 删除
      “%m”
      以删除机器名

      • 也许这会帮助你[打开档案=>外壳]

        PS1="~ $: ";clear;
        
        我喜欢这种方法(在我的mac上)

        放入.zshrc

        PS1="%n$ "
        
        航站楼看起来像


        username$

        如果您使用的是PowerLevel9k主题,则有一个变量
        PowerLevel9k\u CONTEXT\u TEMPLATE
        可以更改主机名和计算机名的视图

        默认选项为
        %n@%m

        • %n->用户名
        • %m->机器名
        要隐藏主机名,请执行以下操作:

      • 使用
        sudo nano~/.zshrc

      • 添加行
        POWERLEVEL9K_CONTEXT_TEMPLATE=“%n”
        在.zshrc文件末尾

      • 保存文件


      • 安装
        Oh My Zsh
        对我来说是最简单的解决方案:

        一个衬里安装:

        sh-c“$(curl-fsSLhttps://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)“

        结果:


        在第页提出这个问题。您需要更多的更改才能获得答案,请转到您的
        ~/.oh my zsh/themes
        文件夹,打开您正在使用的主题,注释掉包含
        提示内容的行或类似内容。或者尝试从主题文件中删除
        $USER@%m
        。Thx@MaxPeng!你应该给出一个完整的答案…@MaxPeng真棒!非常感谢)这假设您使用的是
        ZSH_主题
        ,这对于修改提示是不必要的。对于命令行,我完全不懂,但我正在努力学习。你的评论暗示有更好的方法。有没有可能扩展它?zsh主题所做的一件事就是设置参数
        PS1
        (或者
        PROMPT
        ;它们是同义词)。此值显示为主提示。请参阅
        man zshmisc
        ,特别是“简单提示转义”一节,以了解当各种特殊字符序列出现在
        PS1
        @chepner的值中时,它们是如何显示的-这足以让我知道从何处开始。谢谢谢谢努力了几个小时。您的解决方案帮了我的忙。我想删除主机,只向用户显示,这是一个非常有效的最佳快速答案!谢谢,这是最有效、最快捷的回答。这应该被接受为回答请注意,这将隐藏用户和主机名(提示将为空)。这是因为只有当默认用户变量与用户变量不同时才会填充提示,因此将两者设置为相同会隐藏提示。您可以使用
        $USER
        而不是
        “$(whoami)”
        ,感谢您的提示!而不是你
        PS1="%n$ "