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

ZSH: Hide computer name in terminal

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

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

删除 anwarchoukah@anwars-mbp 会节省一些 space,因为我真的知道我是谁:)

感谢 Wes Bos 精彩的视频系列 Command Line Power User ,我设法找到了答案。这很简单。 ZSH 主题中设置了类似的东西。

打开 .zshrc,将主题从 ZSH_THEME="agnoster"(这是我正在使用的)更改为其他主题。

Wes Bos 制作了一个名为 Cobalt2 的可爱主题,它正是我想要的:)

我现在改成了ZSH_THEME="cobalt2"

打开 .zshrc,找到显示为 export PS1export PROMPT.

的行

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

Zsh on Archlinux wiki

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

  1. 步骤 1. .zshrc 文件 vim .zshrc

  2. 第 2 步。转到文件末尾。

  3. 粘贴此代码:

再次小心缩进您的代码

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

编辑 - 解释这是做什么的

这将从提示中删除 machine@user name 如果: - 您没有以默认用户身份登录 - 你不在 ssh 客户端 shell

对于大多数人来说,不需要,但是如果你经常 ssh 到其他机器并打开多个终端(例如远程系统管理员类型的工作)那么这非常有用所以当你查看你的终端时你知道哪台机器和您在该终端内登录的用户。

如果您没有 need/manage 那种复杂性,那么使用其他答案之一来修改您的导出 PROMPT/PS1 值。

* 警告 *

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

prompt_context:2: command not found: prompt_segment

例如,你可以看到这个(很受欢迎)powerlevel9k它不起作用。这是因为 Powerlevel9k 主题使用它自己的魔法,您只需将命令添加到 ~/.zshrc 文件即可获得相同的结果,例如:

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context)

更多信息here

尝试将 export DEFAULT_USER="$(whoami)" 添加到您的 .zshrc 文件

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

export DEFAULT_USER=\`whoami`

~/.zshrc 文件中的 DEFAULT_USER 设置为您的常规用户名。您可以通过在终端中执行 whoami 来获取您的确切用户名值。 像这样:

export DEFAULT_USER=username

只需将 prompt_context() {} 添加到 .zshrc

在 MacOS 10.15 Catalina 上:

  1. 在文本编辑器中打开文件/private/etc/zshrc
  2. 找到评论:# Default prompt
  3. 修改如下所示的行:PS1="%n@%m~ %& # "
  4. 保存文件。系统将提示您输入密码以进行保存。
  5. 加载新终端window。

例如,您可以:

  • 删除 "%n@%m" 以删除用户名和计算机名
  • 删除"%n" 去掉用户名
  • 去掉"%m"去掉机器名

也许这会对你有所帮助[打开个人资料 => Shell]

PS1="~ $: ";clear;

我喜欢这种方法(在我的 mac 上)

放入.zshrc

PS1="%n$ "

终端看起来像

用户名$

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

默认选项是%n@%m,

  • %n -> 用户名
  • %m -> 机器名

隐藏主机名:

  1. 使用sudo nano ~/.zshrc

    打开.zshrc文件
  2. 添加行 POWERLEVEL9K_CONTEXT_TEMPLATE="%n" 在 .zshrc 文件的末尾

  3. 保存文件。

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

https://ohmyz.sh/

一个内胆安装:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

结果:

不幸的是,none 的 .zshrc 更改对我有用。 Machine : Mac M1, 大苏尔 11.4

这就是有效的方法。

我导航到 ZSH 主题的安装位置,在 TextEdit 中打开我的主题 agnoster,并修改了选择显示内容的配置,默认情况下是 $username@%m

注意:%m这里是机器名。

这是delta的截图。黄色是我做的,绿色是 agnoster 主题 github version 的默认设置。

瞧,这成功了。现在对我来说它只是显示机器名称,正如我所希望的那样。

希望对您有所帮助。许多链接和 SOF 帖子只让我点击了那个解决方案。

如果您使用的是 Powerlevel10k,那么您可以 运行 p10k configure 并稍微配置一下输出。

我的用户名和计算机名经过它后就不见了。与这里的其他解决方案相比,它感觉更简单。

我不知道为什么找不到简化的解决方案。

这是简化版。

直接进入主题目录,

# ~/.oh-my-zsh/themes

Select这个主题,我一直在用

# vim agnoster.zsh-theme

只需删除 %m 即可删除,您也可以删除用户名。

完成后, 刚刚 运行

#zsh 

为了反映变化,享受 :)