如何在Linux中自定义Bash提示

时间:2020-03-21 11:44:15  来源:igfitidea点击:

BASH(BOURNE-INCELES SHELL)是最现代Linux发行版的默认shell。
在本教程中,我们将通过添加一些颜色和样式来定制Bash提示并增强其外观。
当然,有许多插件/工具可以轻松快速地完成这项工作。
但是,我们仍然可以做一些基本的自定义,例如添加,修改元素,更改前景和背景颜色等,而无需安装任何其他工具和插件。

在Linux中自定义Bash提示

在Bash中,我们可以通过更改PS1环境变量的值来自定义和更改Bash提示符作为所需的方式。

通常,Bash提示将看起来如下:

其中SK是用户名,Ubuntuserver是主机名。

现在,我们将根据我们的喜好改变此提示,通过插入一个名为转义序列的一些反斜杠传播的特殊字符。

让我告诉你一些例子。

进一步之前,强烈建议备份~/.bashrc文件。

$cp ~/.bashrc ~/.bashrc.bak

在BASH提示符中修改"Hyman @ theitroad"部分

正如我上面提到的那样,Bash提示在大多数Linux发行版中默认在默认情况下在大多数Linux发行版中有"Hyman @ theitroad"部分。

我们可以将此部分更改为其他内容。

为此,请编辑~/.bashrc文件:

$vi ~/.bashrc

最后添加以下行:

PS1="theitroad> "

用我们选择的任何字母/单词替换"theitroad"。
添加后,点击ESC键并键入:WQ以保存并退出该文件。

运行以下命令以更新更改:

$source ~/.bashrc

现在,Bash提示将在shell提示符中具有"theitroad"的字母。

这是另一个例子。
我将用"Hyman @ theitroad>"替换"Hyman@ theitroad"部分。

为此,请在~。
/bashrc文件中添加以下条目。

export PS1="Hyman@theitroad> "

不要忘记使用"源~/bashrc"命令更新更改。

以下是ubuntu 18.04 LTS的Bash提示符的输出。

仅显示用户名

要仅显示用户名,只需在~/.bashrc文件中添加以下行。

export PS1="_"

其中\ u是转义序列。

以下是要添加到PS1变量的更多值以更改BASH提示。
添加每个条目后,必须运行"源~/.bashrc"命令以生效更改。

使用hostname添加用户名

export PS1="\u\h "

提示现在将如下所示:

skubuntuserver

添加用户名和FQDN(完全限定域名)

export PS1="\u\H "

在用户名和主机名之间添加另外的字符

如果我们想要任何字母,例如@,在用户名和主机名之间,请使用以下条目:

export PS1="\Hyman@theitroad\h "

Bash提示符如下所示:

Hyman@theitroad

将用户名添加到主机名以$符号结束

export PS1="\Hyman@theitroad\h\$"

在用户名和主机名之间添加特殊字符

export PS1="\Hyman@theitroad\h> "

此条目将更改BASH提示符,如下所示。

Hyman@theitroad>

同样,我们可以添加其他特殊字符,例如冒号,半冒号,*,下划线,空间等。

显示用户名,主机名,shell名称

export PS1="\Hyman@theitroad\h>\s "

显示用户名,主机名,shell和和bash版本

export PS1="\Hyman@theitroad\h>\s\v "

Bash提示输出:

显示当前目录的用户名,主机名和路径:

export PS1="\Hyman@theitroad\h\w "

如果当前目录为HOME,我们将看到一个数字(~)符号。

Bash提示符中显示日期

要在Bash提示符中显示日期和主机名和主机名,请在~/.bashrc文件中添加以下条目。

export PS1="\Hyman@theitroad\h>\d "

Bash提示符中12小时格式的日期和时间

export PS1="\Hyman@theitroad\h>\d\@ "

日期和12小时时间hh:mm:ss格式

export PS1="\Hyman@theitroad\h>\d\T "

日期和24小时时间

export PS1="\Hyman@theitroad\h>\d\A "

日期和24小时HH:MM:SS格式

export PS1="\Hyman@theitroad\h>\d\t "

这些是一些常见的转义序列,以改变BASH提示格式。
有更多的逃生序列可用。
我们可以在"提示"部分下在Bash Man页面中查看它们。

并且,我们可以随时使用命令查看当前的提示设置:

$echo $PS1

在Bash提示符中隐藏"Hyman @ OniToraad"部分

如果我们不想让用户查看用户名/主机名部分,只需按照下面给出的步骤操作。

编辑"~/.bashrc"文件:

$vi ~/.bashrc

结束时添加以下内容:

PS1="\W> "

输入:WQ要保存并关闭文件。

然后,运行以下命令以生效更改。

$source ~/.bashrc

现在,检查终端。
我们不会看到Hyman @ oniToroad部分。

你只会看到~>符号。

警告:在某些情况下,这是一个糟糕的做法。
例如,如果像ZSH这样的另一个shell继承了当前的shell,则会导致一些问题。
如果使用单个shell,则仅使用它仅用于隐藏或者修改Hyman @ theitroad部分。

想要知道另一种简单的方式而不搞乱~/.bashrc文件?
只需创建另一个用户帐户,如Hyman @ theitroad,或者 Tom @ theitroad。

彩色Bash提示

到目前为止,我们所看到的是我们刚刚更改/添加了一些元素到Bash提示。
在本节中,我们将添加颜色元素。

我们可以通过向~/.bashrc文件添加一些代码来增强Bash提示元素的前景(文本)和背景颜色。

例如,要将所有文本的前景颜色更改为红色,请添加以下代码:

export PS1="\Hyman@theitroad\[\e[31m\]\h\[\e[m\] "

添加后,使用命令更新更改:

现在,Bash提示符如下所示:

同样,要更改背景颜色,请添加此代码:

export PS1="\Hyman@theitroad\[\e[31;46m\]\h\[\e[m\] "

添加Emojis.

谁不爱Emoji?
我们可以通过在~/.bashrc文件中放置以下代码来添加EMOJI。

PS1="\W