diff --git a/translated/tech/20170103 How to Customize Bash Colors and Content in Linux Terminal Prompt copy.md b/published/20170103 How to Customize Bash Colors and Content in Linux Terminal Prompt copy.md similarity index 81% rename from translated/tech/20170103 How to Customize Bash Colors and Content in Linux Terminal Prompt copy.md rename to published/20170103 How to Customize Bash Colors and Content in Linux Terminal Prompt copy.md index 575703b16a..a418ca22a7 100644 --- a/translated/tech/20170103 How to Customize Bash Colors and Content in Linux Terminal Prompt copy.md +++ b/published/20170103 How to Customize Bash Colors and Content in Linux Terminal Prompt copy.md @@ -1,17 +1,17 @@ 在 Linux 终端中自定义 Bash 配色和提示内容 ============================================================ -现今,大多数(如果不是全部的话)现代 Linux 发行版的默认 shell 都是 Bash。然而,你可能已经注意到这样一个现象,在各个发行版中,其终端配色和 提示内容都各不相同。 +现今,大多数(如果不是全部的话)现代 Linux 发行版的默认 shell 都是 Bash。然而,你可能已经注意到这样一个现象,在各个发行版中,其终端配色和提示内容都各不相同。 如果你一直都在考虑,或者只是一时好奇,如何定制可以使 Bash 更好用。不管怎样,请继续读下去 —— 本文将告诉你怎么做。 ### PS1 Bash 环境变量 -命令提示符和终端外观是通过一个叫 `PS1` 的变量来进行管理的。根据 **Bash** 手册页说明,**PS1** 体现了 shell 准备好读取命令时显示的基本提示字符串。 +命令提示符和终端外观是通过一个叫 `PS1` 的变量来进行管理的。根据 **Bash** 手册页说明,**PS1** 代表了 shell 准备好读取命令时显示的主体的提示字符串。 **PS1** 所允许的内容包括一些反斜杠转义的特殊字符,可以查看手册页中 **PRMPTING** 部分的内容来了解它们的含义。 -为了演示,让我们先来显示以下我们系统中 `PS1` 的当前内容吧(这或许看上去和你们的有那么点不同): +为了演示,让我们先来显示下我们系统中 `PS1` 的当前内容吧(这或许看上去和你们的有那么点不同): ``` $ echo $PS1 @@ -25,11 +25,11 @@ $ echo $PS1 根据手册页 PROMPTING 章节的描述,下面对各个特殊字符的含义作如下说明: -  `\u:` 显示当前用户的 **用户名**。 --   `\h:`  完全合格域名 Fully-Qualified Domain Name中第一个点(.)之前的**主机名**。 --   `\W:` 当前工作目录的**基本名**,对于 $HOME 通常简化使用波浪符号表示(~)。 -- `\$:` 如果当前用户是 root,显示为 #,否则为 $。 +-  `\h:` 完全限定域名 Fully-Qualified Domain Name(FQDN)中第一个点(.)之前的**主机名**。 +-  `\W:` 当前工作目录的**基本名**,如果是位于 `$HOME` (家目录)通常使用波浪符号简化表示(`~`)。 +- `\$:` 如果当前用户是 root,显示为 `#`,否则为 `$`。 -例如,如果我们想要显示当前命令的历史数量,可以考虑添加 `\!`;如果我们想要显示 FQDN 而不是短服务器名,那么可以考虑添加 `\H`。 +例如,如果我们想要显示当前命令的历史数量,可以考虑添加 `\!`;如果我们想要显示 FQDN 全称而不是短服务器名,那么可以考虑添加 `\H`。 在下面的例子中,我们同时将这两个特殊字符引入我们当前的环境中,命令如下: @@ -37,7 +37,8 @@ $ echo $PS1 PS1="[\u@\H \W \!]\$" ``` -当按下 **Enter** 键时,你将会看到提示内容会变成下面这样。可以通过下面的命令来对比修改前和修改后的提示内容: +当按下回车键后,你将会看到提示内容会变成下面这样。可以对比执行命令修改前和修改后的提示内容: + [ ![Customize Linux Terminal Prompt PS1](http://www.tecmint.com/wp-content/uploads/2017/01/Customize-Linux-Terminal-Prompt.png) ][1] @@ -96,7 +97,7 @@ PS1="[\u@\H \W \!]\$" -我们将在开头使用 `\e` 特殊字符,在结尾使用 `m` 来表示后面跟着的是颜色序列。 +我们将在开头使用 `\e` 特殊字符,跟着颜色序列,在结尾使用 `m` 来表示结束。 在该序列中,三个值(**背景**,**格式**和**前景**)由分号分隔(如果不赋值,则假定为默认值)。 @@ -106,7 +107,6 @@ PS1="[\u@\H \W \!]\$" 例如,下面的 `PS1` 将导致提示符为黄色带下划线文本,并且背景为红色: - ``` PS1="\e[41;4;33m[\u@\h \W]$ " ``` @@ -116,7 +116,7 @@ PS1="\e[41;4;33m[\u@\h \W]$ " *修改 Linux 终端提示符配色 PS1* -虽然它看起来那么好,但是这个自定义将只会持续到当前用户会话结束。如果你关闭终端,或者退出本次会话,所有修改都会丢失。 +虽然它看起来那么漂亮,但是这个自定义将只会持续到当前用户会话结束。如果你关闭终端,或者退出本次会话,所有修改都会丢失。 为了让修改永久生效,你必须将下面这行添加到 `~/.bashrc`或者 `~/.bash_profile`,这取决于你的版本。