直接删掉h即可:Linux终端提示符中主机名由PS1变量中的h(短主机名)或H(全主机名)控制,编辑~/.bashrc文件,将PS1='...\u@\h:\w\$ '中的@\h删除,改为PS1='...\u:\w\$ ',再执行source ~/.bashrc生效;zsh用户需修改~/.zshrc并删除%m。

直接删掉 h 就行,别动其他部分
终端提示符里显示主机名,是因为 PS1 变量里包含了 h(短主机名)或 H(全主机名)。去掉它最直接——不是改逻辑、不是写脚本,就是把 h 从字符串里删掉。
常见错误是顺手把 u@h 整段删了却不加冒号或空格,结果变成 :/path$ 这种难看格式;或者误删 w 导致路径也不显示。
- 打开
~/.bashrc,找到类似这行:PS1='${debian_chroot:+($debian_chroot)}u@h:w$ ' - 把
@h删掉,改成:PS1='${debian_chroot:+($debian_chroot)}u:w$ ' - 保存后运行
source ~/.bashrc生效
PS1 里哪些字符代表主机名
h 和 H 都是主机名,但行为不同:
-
h:只取 hostname 的第一段,比如mybox.example.com→mybox -
H:显示完整 hostname,即mybox.example.com - 有些系统默认用的是
h,有些用H,得实际查配置,不能凭感觉猜 - 注意大小写敏感:
h有效,H也有效,但hostname或host是无效的,不会报错但也不起作用
改完发现提示符没了?可能是 PS1 被设空了
有人试过 export PS1="" 或删光了整行,结果终端只剩光标闪,输命令都看不见位置。这不是 bug,是预期行为——shell 没有提示符就真不显示任何前缀。
- 临时补救:直接输入
PS1='w$ '回车,就能恢复带路径的提示符 - 永久修复:检查
~/.bashrc里有没有PS1=""或注释掉所有PS1=行,删掉或还原成有效值 - 安全底线:至少保留
w$(路径 + 提示符),哪怕不要用户名和主机名
用 zsh 的人别改 .bashrc
如果你用的是 zsh(比如 macOS 新默认、或自己装的 Oh My Zsh),改 .bashrc 完全无效。得去动 ~/.zshrc。
- 先确认 shell 类型:
echo $SHELL,输出/bin/zsh就说明你在用 zsh - 编辑
~/.zshrc,找PROMPT=或PS1=行,同样删掉%m(zsh 里的主机名占位符) - zsh 中对应关系:
%n是用户名,%m是主机名,%~是路径,别混用 bash 的u/h
真正要改的是那一两个字符,不是整个终端生态。容易被忽略的是 shell 类型差异和空 PS1 的后果——它不报错,但会让你在黑屏上盲打半小时。











