Linux shell 颜色输出

本文介绍如何使用ANSI escape code在Linux终端中输出不同颜色的文字。通过示例代码展示了从黑色到白色共八种基本颜色及其对应的亮色版本,并提供了一种方法来为特定范围内的文本设置颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原理

可以利用ANSI escape code 实现linux终端输出颜色文本。下面是几个ANSI escape code 对应的颜色。

Black        0;30     Dark Gray     1;30
Red          0;31     Light Red     1;31
Green        0;32     Light Green   1;32
Brown/Orange 0;33     Yellow        1;33
Blue         0;34     Light Blue    1;34
Purple       0;35     Light Purple  1;35
Cyan         0;36     Light Cyan    1;36
Light Gray   0;37     White         1;37

示例

以下是一个输出ANSI Rainbow 的示例。

#!/bin/bash
for (( i = 30; i < 38; i++ ))
do 
    echo -e "\033[0;"$i"m Normal: (0;$i); \033[1;"$i"m Light: (1;$i)"; 
done

输出结果如下
avatar
如果想设置固定区间的颜色,可以将’\033[0m’放在对应区间的结尾。如下示例

#!/bin/bash
NC='\033[0m' # No Color
for (( i = 30; i < 38; i++ ))
do
    echo -e "I \033[0;${i}mlove${NC} Linux"
done

输出结果如下
avatar

### 如何在Linux Shell中设置颜色主题 #### 修改Shell提示符的颜色 为了改变Linux命令行中的默认外观,可以编辑`~/.bashrc`文件来调整PS1变量的内容。通过修改这个环境变量,能够自定义终端显示风格,包括但不限于文字色彩、背景色调以及字体样式等[^1]。 对于Bash用户来说,在个人家目录下的`.bashrc`文档里加入如下所示的一段脚本即可实现基本定制化需求: ```bash export PS1='\[\e[0;32m\]\u@\h \[\e[1;34m\]\w \$\[\e[m\] ' ``` 上述代码片段的作用在于将用户名与主机名设为绿色而工作路径变为蓝色,并且保持输入符号不变。 #### 安装并启用ZSH及其插件 除了直接操作基础外壳外,安装第三方框架如Oh My Zsh也是一种不错的选择。这不仅简化了许多繁琐的手动配置过程,还提供了丰富的可选方案供使用者挑选适合自己的界面布局[^3]。 获取该工具包最简便的方式就是利用Git版本控制系统执行克隆仓库指令: ```bash git clone --depth=1 https://gitee.com/mirrors/oh-my-zsh.git ~/.oh-my-zsh ``` 完成部署之后记得重启当前会话以便使更改生效;另外别忘了依照官方说明进一步激活所喜爱的主题模式哦! #### 推荐几种流行的配色方案 社区内存在大量由爱好者贡献出来的优秀作品可供借鉴参考,下面列举了一些备受欢迎的选项给到大家作为入门指南[^4]: - Spacefish:带有电池电量指示器和时间戳记号的功能型设计; - Agnoster:简洁大方又不失特色的经典之作; - Bobthefish:专为Fish shell移植而来却同样适用于其他平台的好评模板; - Godfather:复古风满满的黑色系整体解决方案; - Emoji-Powerline:充满趣味表情符号点缀其间的新颖尝试。 #### 配置LS命令不带彩色输出 如果希望关闭ls命令自带的颜色高亮功能,则可以在用户的shell初始化文件(比如.bashrc或.zshrc)里面取消注释特定行或者添加相应设定语句[^2]。 ```bash # 取消此行前面的井号即代表停用着色机制 # export LS_COLORS= ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值