作者:也许_枉然 | 来源:互联网 | 2023-05-22 10:57
我使用Ubuntu 14.04在Digital Ocean上托管了一个开发服务器.我将我的shell改为ZSH,并决定采用Agnoster主题.为了user@hostname
停止显示,我DEFAULT_USER
在我的.zshrc文件中设置.
由于某些原因在ubuntu服务器上,这是行不通的.主机名仍然显示,并且不会消失.我在我的Mac OSX上做的完全一样,它运行正常.
以下是一些截图:
有谁知道发生了什么?我甚至试过DEFAULT_USER="$USER@$HOST"
没有运气.
如果我回到默认的Robby Russell主题,它的效果很好.
1> hchbaw..:
这是根据这个特点 ; 当我们正在进行时ssh
,将显示主机名.
重写功能prompt_context
或build_prompt
上Agnoster主题将救援.~/.zshrc
例如,在下面的片段下面放置一些片段.
# redefine prompt_context for hiding user@hostname
prompt_context () { }
2> hqt..:
这是我前两个答案的版本.他们解释得很清楚.我会再次合并.
步骤1.打开您的.zshrc
文件vim .zshrc
第2步.转到文件末尾.
粘贴此代码:
小心缩进你的代码
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
参考链接:agnoster主题代码
希望这有帮助:)
这应该是经过批准的答案,他不会修改以后可能成为问题的库源代码.
同意,这是最有帮助的答案^ _ ^
3> 小智..:
我也在使用agnoster主题.
编辑agnoster.zsh-theme
,查找$user@%m
和删除@%m
.
图片样本:
4> 小智..:
您可以DEFAULT_USER="[user name]"
在.zshrc
文件中设置,它将停止显示user@hostname
在您的终端中.
为了获得[user name]
,输入id -un
你的终端,它将输出[user name]
值.
5> IAmKale..:
如果您使用的是macOS,则在文件中添加一行即可~/.zshrc
在终端机中隐藏计算机名称:
# Where we specify the theme
ZSH_THEME="agnoster"
# Force yourself as the system's default user
DEFAULT_USER="$(whoami)"
这将取消此处的"$user" != "$DEFAULT_USER"
检查,从而在仍然为SSH连接显示计算机名称的同时将其隐藏在本地。