有没有办法更改终端窗口中每个命令行前显示的名称?如果可以,那么怎么做?如下所示,我当前的名称太长,每行都占用了大量空间。
$: command not found
liam@liam-Lenovo-Legion-Y7000:~$
答案1
长的部分是计算机名称,也称为您的主机名:liam-Lenovo-Legion-Y7000
最简单的方法是将您的计算机名称更改为类似 liam 的名称,以便提示符如下所示:
liam@liam:~$
请参阅此重复的答案,了解如何使用命令更改计算机名称hostnamectl
。
就您而言,要将主机名更改为 liam,您可以使用以下命令:
sudo hostnamectl set-hostname liam
或者,下面是一种更复杂的方法,可以从提示中删除计算机名称。
无需更改实际的计算机名称,您可以通过编辑~/.bashrc
文件从提示中删除计算机名称。
在开始之前,请备份此文件:
cp ~/.bashrc ~/.bashrcbackup
运行以下命令使用nano编辑文件:
nano ~/.bashrc
1. 按CTRL+W搜索,然后输入PS1
,然后按ENTER。
该行看起来应如下所示:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
编辑行删除@\h\[\033[00m\]
直到:
但不删除:
所以编辑的行应如下所示:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u:\[\033[01;34m\]\w\[\033[00m\]\$ '
2. 按CTRL+ W,然后按ENTER。
这一行看起来应该像这样:
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
编辑行删除后@\h
,编辑后的行应如下所示:
PS1='${debian_chroot:+($debian_chroot)}\u:\w\$ '
3. 按CTRL+ W,然后按ENTER。
这一行看起来应该像这样:
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
编辑行删除后@\h
,编辑后的行应如下所示:
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u: \w\a\]$PS1"
完成文件编辑后,按CTRL+o保存更改,然后按CTRL+x退出 nano。
最后,运行以下命令来应用更改:
source ~/.bashrc
你的提示现在应该显示如下内容:
liam:~$
答案2
提示的大部分长度是您的主机名(太长了,我无法重新输入 - 这是发布文本图片而不是发布格式化文本的缺点之一。请阅读 https://askubuntu.com/help/how-to-ask和https://askubuntu.com/help/formatting.).您可以缩短主机名吗?
提示符是通过 shell 魔法生成的,使用PS1
环境变量,这个魔法在“PROMPTING”部分PS4
中有解释。man $SHELL