命令行上的圣诞树

新年快到了,我不想再考虑正经的工作了。

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

在某些发行版中它已经被“装饰”过:

命令行上的圣诞树

在其他情况下,它是灰色的且不显眼:

命令行上的圣诞树

例如,我们可以这样做:

命令行上的圣诞树

当然,所有标记都有不同的口味和颜色。 如果这样的色彩对你来说显得俗气和不合适,那么你要知道,这种观点完全有生命的权利。 如果您还想增添一点新年气氛,请继续阅读 Cloud4Y 的简短新年文章。

首先,我将解释终端输出如何“着色”。 这是使用转义序列完成的。 或者更准确地说,是 ANSI/VT100 终端的控制代码序列。 这自动意味着你的终端模拟器必须支持这个标准,否则新年的奇迹就不会发生。 是的,$SHELL 被假定为您的 bash。

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

执行代码序列 *ESC*[{attr1};...;{attrn}m
作为一个象征 逃生 使用其八进制形式,即 33。 至于属性,这里是可能值的简短列表:

0 重置所有属性
1 明亮(增加亮度)
2 暗淡
4 下划线
5
7 撤销
8 隐藏(隐藏文字)

前景色(笔颜色,文本以此颜色显示):
30 黑色的
31 红色的
32 绿色的
33 黄色的
34 蓝色的
35 洋红色(洋红色)
36 青色(蓝色)
37 白色 (белый)

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

请注意,如果您现在在终端中命令: echo 33[0;31mнекоторый текст 33[0m’

...然后你可以预见地会在输出中得到单色的官样文章:

命令行上的圣诞树

为什么? 因为需要使用echo命令的高级功能。 添加一个键就足够了: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

现在输出看起来是正确的:

命令行上的圣诞树

我们已经整理了终端输出的颜色。 现在让我们看看如何为命令提示符着色。

这是通过更改 PS1 变量来完成的。 该变量负责命令行提示。 它的外观也可以改变,包括使用转义序列。 但有一个细微的差别:您需要以符号“开始序列”[”,并以符号“结束]”,否则会输出到终端。

bash 手册中详细描述了所有可能的命令序列,因此我邀请读者自己选择他们喜欢在命令行提示符下看到的内容。 作为示例,我将给出 PS1 变量的值:

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

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

[ 33[34;1m] — 打开亮蓝色(第二个属性)字体颜色
t – 以 HH: MM: SS 格式显示当前时间
[ 33[0米] – 重置字体颜色设置
, - 只是一个逗号(出乎意料,对吧?)
[ 33[32米] — 打开绿色字体颜色
你@l@h – 显示用户名、终端设备号和短主机名,以“@”符号分隔
[ 33[0米] — 再次重置字体颜色设置
: - 只是一个冒号(突然!)
[ 33[33米] — 打开黄色字体颜色
W – 显示当前目录的名称
[ 33[0米] — 再次重置字体颜色设置
, - 另一个逗号(谁会想到!)
[ 33[31米] — 打开红色字体颜色
! — 在终端中显示命令编号
[ 33[0米] - 不要忘记重置字体颜色设置
$ — 为 root 打印“#”,为其他人打印“$”
n - 行翻译。 为了什么? 这样命令就从窗口的左边缘开始,而不是从命令行提示符的末尾开始。

在哪里重新定义变量? 执行此操作最合理的位置是 ~/.bashrc。

请柬的外观仅受您的想象力限制。 原则上,没有什么可以阻止您使用上述工具以圣诞树的形式制作命令行提示符。 诚然,这样的邀请会很麻烦,而且工作也绝对不会变得更方便。 登录时圣诞树可以简单地显示在命令行提示符上方(我们仍然需要编辑〜/.bashrc)。 大胆试试吧! 感谢您的关注。

命令行上的圣诞树

你还能在博客上读到什么? 云4Y

在 GNU/Linux 中设置 top
处于网络安全前沿的渗透测试人员
能够带来惊喜的初创公司
数据中心需要枕头吗?
机器人建造的房子

订阅我们的 Telegram-频道,这样您就不会错过下一篇文章! 我们每周写信不超过两次,而且仅限于公务。 我们还提醒您,企业云提供商Cloud4Y已推出“FZ-152云正价”促销活动。 您可以申请 直到 31 月 XNUMX 日.

来源: habr.com

添加评论