命令行上的圣诞树

新年快了,我不想考虑认真的工作。

每个人都在尝试为假期装饰一些东西:家庭,办公室,工作场所...让我们,我们将装饰一些东西! 例如,命令提示符。 在某种程度上,命令行也是工作场所。

在某些发行版中,它已经“装饰”了:



在其他情况下,则为灰色且不起眼:



例如,我们可以这样做:



当然,所有标记的味道和颜色都不同。 如果这种颜色看起来笨拙且不适合您,请知道这种观点具有生命的一切权利。 而且,如果您还想增加一些新年气氛,请继续阅读Cloud4Y上的一则新年小文章。

首先,我将说明终端的输出如何“着色”。 这是使用转义序列完成的。 更准确地说-ANSI / VT100终端的控制代码序列。 这自动意味着您的终端仿真器必须支持此标准,否则新年奇迹将不会发生。 是的,假设您有$ SHELL bash。

这些命令之所以被称为转义序列,是因为每个命令的开头都是ASCII转义字符。 有许多控制序列,例如,它们允许显示终端设置,控制光标的显示和移动,更改字体,删除和隐藏文本。 我们将选择各种可能性中的一种-更改文本和背景的颜色。

我们执行代码序列*ESC*[{attr1};...;{attrn}m
作为转义字符,使用其八进制形式,即\ 033 。 至于属性,这是可能值的简短列表:

0重置所有属性。
1
2暗淡
4下划线(underscore)
5闪烁
7反向
8隐藏(隐藏文字)

前景颜色(笔颜色,文本以该颜色显示):
30黑色
31红色
32绿色
33黄色
34蓝色
35洋红色(洋红色)
36青色(蓝色)
37白色

背景颜色(纸张颜色或背景颜色):
40黑色
41红色
42绿色
43黄色
44蓝色
45洋红色(洋红色)
46青色(蓝色)
47白色

请注意,如果您现在在终端中命令: echo \033[0;31m \033[0m'

...那么您将可以预料地获得单色abracadabra作为输出:



怎么了 因为有必要使用echo命令的高级功能。 添加一个键就足够了: echo -e '\033[0;31m \033[0m'

现在输出看起来正确:



随着输出到终端的颜色被整理出来。 现在,让我们看看如何为命令行提示符着色。

这可以通过更改变量PS1来完成。 该变量负责命令行提示符。 也可以更改其外观,包括使用转义序列。 但是有一点不同:您需要以字符“ \ [ ”开始序列,并以字符“ \]结束,否则它将显示在终端上。

bash手册中详细描述了所有可能的命令序列,因此我建议读者自己选择自己喜欢在命令提示符下观察的内容。 举例来说,我将值赋予变量PS1:

\[\033[34;1m\]\t\[\033[0m\],\[\033[32m\]\u@\l@\h\[\033[0m\]:\[\033[33m\]\W\[\033[0m\],\[\033
[31m\]\!\[\033[0m\]\$\n

我将破译这个可怕的咒语:

\ [\ 033 [34; 1m \] -启用亮蓝色(第二属性)字体颜色
\ t-以HH:MM:SS格式显示当前时间
\ [\ 033 [0m \] -重置字体颜色设置
-只是一个逗号(没想到,对吧?)
\ [\ 033 [32m \] -打开字体的绿色
\ u @ \ l @ \ h-显示用户名,终端设备号和简短的主机名,用符号“ @”分隔
[\ 033 [0m \] -再次重置字体颜色设置
-只是一个冒号(突然之间!)
\ [\ 033 [33m \] -打开字体的黄色
\ W-打印当前目录的名称
[\ 033 [0m \] -再次重置字体颜色设置
-另一个逗号(谁会想到的!)
\ [\ 033 [31m \] -打开字体的红色
\! -在终端上打印命令号
[\ 033 [0m \] -不要忘记重置字体颜色设置
\ $ -为根目录打印“#”,为其他所有人打印“ $”
\ n-换行符。 怎么了 因此,命令从窗口的左边缘开始,而不是从命令提示符的结束位置开始。

在哪里覆盖变量? 最合理的方法是在〜/ .bashrc中。

邀请的出现仅受您的想象力限制。 原则上,没有什么可以阻止您使用上述工具以圣诞树的形式发出命令行提示符。 没错,这样的邀请会很麻烦,而且工作肯定不会更方便。 只需在登录时在命令行提示符上方显示圣诞树即可(我们仍然需要编辑〜/ .bashrc)。 加油! 并感谢您的收看。



Cloud4Y博客上阅读还有什么有用的

在GNU / Linux中配置top
处于网络安全前沿的测试人员
令人惊讶的初创企业
您是否需要数据中心中的枕头?
机器人建造房屋

订阅我们的电报频道,以免错过其他文章! 我们每周写不超过两次,并且只在商务上写。 我们还提醒您,企业云提供商Cloud4Y推出了“以常规价格出售FZ-152云”的促销活动。 您可以申请到12月31日

Source: https://habr.com/ru/post/zh-CN480788/


All Articles