在 Linux 中打扮你的冬季 Bash 提示符
提示符

> 
> 你的 Linux 终端可能支持 Unicode，那么为何不利用它在提示符中添加季节性的图标呢？
> 
> 
> 


![](/data/attachment/album/201901/16/184022d59vyvvkvqaa578v.png)


欢迎再次来到 Linux 命令行玩具日历的另一篇。如果这是你第一次访问该系列，你甚至可能会问自己什么是命令行玩具？我们对此比较随意：它会是终端上有任何有趣的消遣，对于任何节日主题相关的还有额外的加分。


也许你以前见过其中的一些，也许你没有。不管怎样，我们希望你玩得开心。


今天的玩具非常简单：它是你的 Bash 提示符。你的 Bash 提示符？是的！我们还有几个星期的假期可以盯着它看，在北半球冬天还会再多几周，所以为什么不玩玩它。


目前你的 Bash 提示符号可能是一个简单的美元符号（ `$`），或者更有可能是一个更长的东西。如果你不确定你的 Bash 提示符是什么，你可以在环境变量 `$PS1` 中找到它。要查看它，请输入：



```
echo $PS1
```

对于我而言，它返回：



```
[\u@\h \W]\$
```

`\u`、`\h` 和 `\W` 分别是用户名、主机名和工作目录的特殊字符。你还可以使用其他一些符号。为了帮助构建你的 Bash 提示符，你可以使用 [EzPrompt](http://ezprompt.net/)，这是一个 `PS1` 配置的在线生成器，它包含了许多选项，包括日期和时间、Git 状态等。


你可能还有其他变量来组成 Bash 提示符。对我来说，`$PS2` 包含了我命令提示符的结束括号。有关详细信息，请参阅 [这篇文章](https://access.redhat.com/solutions/505983)。


要更改提示符，只需在终端中设置环境变量，如下所示：



```
$ PS1='\u is cold: '
jehb is cold:
```

要永久设置它，请使用你喜欢的文本编辑器将相同的代码添加到 `/etc/bashrc` 中。


那么这些与冬季化有什么关系呢？好吧，你很有可能有现代一下的机器，你的终端支持 Unicode，所以你不仅限于标准的 ASCII 字符集。你可以使用任何符合 Unicode 规范的 emoji，包括雪花 ❄、雪人 ☃ 或一对滑雪板。你有很多冬季 emoji 可供选择。


* 圣诞树
* 外套
* 鹿手套
* 圣诞夫人
* 圣诞老人
* 围巾
* 滑雪者
* 滑雪板
* 雪花
* 雪人
* 没有雪的雪人
* 包装好的礼物


选择你最喜欢的，享受冬天的欢乐。有趣的事实：现代文件系统也支持文件名中的 Unicode 字符，这意味着技术上你可以将你下个程序命名为 `❄❄❄❄❄.py`。只是说说，不要这么做。


你有特别喜欢的命令行小玩具需要我介绍的吗？这个系列要介绍的小玩具大部分已经有了落实，但还预留了几个空位置。如果你有特别想了解的可以评论留言，我会查看的。如果还有空位置，我会考虑介绍它的。如果没有，但如果我得到了一些很好的意见，我会在最后做一些有价值的提及。


查看昨天的玩具，[在 Linux 终端玩贪吃蛇](https://opensource.com/article/18/12/linux-toy-snake)，记得明天再来！




---


via: <https://opensource.com/article/18/12/linux-toy-bash-prompt>


作者：[Jason Baker](https://opensource.com/users/jason-baker) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
Hello once again for another installment of the Linux command-line toys advent calendar. If this is your first visit to the series, you might be asking yourself what a command-line toy even is? Really, we're keeping it pretty open-ended: It's anything that's a fun diversion at the terminal, and we're giving bonus points for anything holiday-themed.

Maybe you've seen some of these before, maybe you haven't. Either way, we hope you have fun.

Today's toy is super-simple: It's your Bash prompt. Your Bash prompt? Yep! We've got a few more weeks of the holiday season left to stare at it, and even more weeks of winter here in the northern hemisphere, so why not have some fun with it.

Your Bash prompt currently might be a simple dollar sign (**$**), or more likely, it's something a little longer. If you're not sure what makes up your Bash prompt right now, you can find it in an environment variable called $PS1. To see it, type:

`echo $PS1`


For me, this returns:

`[\u@\h \W]\$`


The **\u**, **\h**, and **\W** are special characters for username, hostname, and working directory. There are others you can use as well; for help building out your Bash prompt, you can use [EzPrompt](http://ezprompt.net/), an online generator of PS1 configurations that includes lots of options including date and time, Git status, and more.

You may have other variables that make up your Bash prompt set as well; **$PS2** for me contains the closing brace of my command prompt. See [this article](https://access.redhat.com/solutions/505983) for more information.

To change your prompt, simply set the environment variable in your terminal like this:

```
$ PS1='\u is cold: '
jehb is cold:
```


To set it permanently, add the same code to your **/etc/****bashrc**** **using your favorite text editor.

So what does this have to do with winterization? Well, chances are on a modern machine, your terminal support Unicode, so you're not limited to the standard ASCII character set. You can use any emoji that's a part of the Unicode specification, including a snowflake ❄, a snowman ☃, or a pair of skis ?. You've got plenty of wintery options to choose from.

```
? Christmas Tree
? Coat
? Deer
? Gloves
? Mrs. Claus
? Santa Claus
? Scarf
? Skis
? Snowboarder
❄ Snowflake
☃ Snowman
⛄ Snowman Without Snow
? Wrapped Gift
```


Pick your favorite, and enjoy some winter cheer. Fun fact: modern filesystems also support Unicode characters in their filenames, meaning you can technically name your next program **"❄❄❄❄❄.py"**. That said, please don't.

Do you have a favorite command-line toy that you think I ought to include? The calendar for this series is mostly filled out but I've got a few spots left. Let me know in the comments below, and I'll check it out. If there's space, I'll try to include it. If not, but I get some good submissions, I'll do a round-up of honorable mentions at the end.

Check out yesterday's toy, [Snake your way across your Linux terminal](https://opensource.com/article/18/12/linux-toy-snake), and check back tomorrow for another!

## 3 Comments