当前位置: 首页 > article >正文

Linux自定义终端提示符

转移大全(echo -e "\a"等)

序列 显示值

  • \a 以 ASCII 格式编码的铃声 . 当遇到这个转义序列时,计算机会发出嗡嗡的响声。
  • \d 以日,月,天格式来表示当前日期。例如,“Mon May 26.”
  • \h 本地机的主机名,但不带末尾的域名。
  • \H 完整的主机名。
  • \j 运行在当前 shell 会话中的工作数。
  • \l 当前终端设备名。
  • \n 一个换行符。
  • \r 一个回车符。
  • \s shell 程序名。
  • \t 以24小时制,hours:minutes:seconds 的格式表示当前时间.
  • \T 以12小时制表示当前时间。
  • \@ 以12小时制,AM/PM 格式来表示当前时间。
  • \A 以24小时制,hours:minutes 格式表示当前时间。
  • \u 当前用户名。
  • \v shell 程序的版本号。
  • \V Version and release numbers of the shell.
  • \w 当前工作目录名。
  • \W 当前工作目录名的最后部分。
  • \! 当前命令的历史号。
  • \# 当前 shell 会话中的命令数。
  • \$ 这会显示一个"$“字符,除非你拥有超级用户权限。在那种情况下, 它会显示一个”#"字符。
  • \[ 标志着一系列一个或多个非打印字符的开始。这被用来嵌入非打印 的控制字符,这些字符以某种方式来操作终端仿真器,比方说移动光标或者是更改文本颜色。
  • \] 标志着非打印字符序列结束。

赋值

将一个变量的内容赋值给一个变量

old=$USER

这样的话使用$old就是相同的效果了。

如何使用自己的提示符?

PS1="\a\$"

这样的话每次都会有一个提示音。

$PS1="\A \u\$"
01:52 thomashuke$

这样的话就重置了提示符。

给输出添加颜色

用转义序列来设置文本颜色

序列文本颜色序列文本颜色
\033[0;30m黑色\033[1;30m深灰色
\033[0;31m红色\033[1;31m浅红色
\033[0;32m绿色\033[1;32m浅绿色
\033[0;33m棕色\033[1;33m黄色
\033[0;34m蓝色\033[1;34m浅蓝色
\033[0;35m粉红\033[1;35m浅粉色
\033[0;36m青色\033[1;36m浅青色
\033[0;37m浅灰色\033[1;37m白色

用转义序列来设置背景颜色

\033[0;40m蓝色\033[1;44m黑色
\033[0;41m红色\033[1;45m紫色
\033[0;42m绿色\033[1;46m青色
\033[0;43m棕色\033[1;47m浅灰色

光标移动转义序列

转义编码行动
\033[l;cH把光标移到第 l 行,第 c 列
\033[nA把光标向上移动 n 行。
\033[nB把光标向下移动 n 行。
\033[nC把光标向前移动 n 个字符。
\033[nD把光标向后移动 n 个字符。
\033[2J清空屏幕,把光标移到左上角(第零行,第零列)。
\033[K清空从光标位置到当前行末的内容。
\033[s存储当前光标位置。
\033[u唤醒之前存储的光标位置。

分析

序列行动
[开始一个非打印字符序列。其真正的目的是为了让 bash 能够正确地计算提示符的大小。如果没有这个转义字符的话,命令行编辑 功能会弄错光标的位置。
\033[s存储光标位置。这个用来使光标能回到原来提示符的位置, 当长条和时钟显示到屏幕上方之后。当心一些 终端仿真器不推崇这个编码。
\033[0;0H把光标移到屏幕左上角,也就是第零行,第零列的位置。
\033[0;41m把背景设置为红色。
\033[K清空从当前光标位置到行末的内容。因为现在 背景颜色是红色,则被清空行背景成为红色,以此来创建长条。注意虽然一直清空到行末, 但是不改变光标位置,它仍然在屏幕左上角。
\033[1;33m把文本颜色设为黄色。
\t显示当前时间。虽然这是一个可“打印”的元素,但我们仍把它包含在提示符的非打印部分, 因为我们不想 bash 在计算可见提示符的真正大小时包括这个时钟在内。
\033[0m关闭颜色设置。这对文本和背景都起作用。
\033[u恢复到之前保存过的光标位置处。
]结束非打印字符序列。
<\u@\h \W>$提示符字符串。

输出特效格式控制:
\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m – \033[37m 设置前景色
\033[40m – \033[47m 设置背景色
光标位置等的格式控制:
\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显示光标
整理:
编码 颜色/动作
  0 重新设置属性到缺省设置
  1 设置粗体
  2 设置一半亮度(模拟彩色显示器的颜色)
  4 设置下划线(模拟彩色显示器的颜色)
  5 设置闪烁
  7 设置反向图象
  22 设置一般密度
  24 关闭下划线
  25 关闭闪烁
  27 关闭反向图象
  30 设置黑色前景
  31 设置红色前景
  32 设置绿色前景
  33 设置棕色前景
  34 设置蓝色前景
  35 设置紫色前景
  36 设置青色前景
  37 设置白色前景
  38 在缺省的前景颜色上设置下划线
  39 在缺省的前景颜色上关闭下划线
  40 设置黑色背景
  41 设置红色背景
  42 设置绿色背景
  43 设置棕色背景
  44 设置蓝色背景
  45 设置紫色背景
  46 设置青色背景
  47 设置白色背景
  49 设置缺省黑色背景
特效可以叠加,需要使用“;”隔开,例如:闪烁+下划线+白底色+黑字为 \033[5;4;47;30m闪烁+下划线+白底色+黑字为\033[0m
下面是一段小例子
[plain] view plain copy

  1. #!/bin/bash
  2. #下面是字体输出颜色及终端格式控制
  3. #字体色范围:30-37
    看到了字体使用数字+m的方式
  4. echo -e “\033[30m 黑色字 \033[0m”
  5. echo -e “\033[31m 红色字 \033[0m”
  6. echo -e “\033[32m 绿色字 \033[0m”
  7. echo -e “\033[33m 黄色字 \033[0m”
  8. echo -e “\033[34m 蓝色字 \033[0m”
  9. echo -e “\033[35m 紫色字 \033[0m”
  10. echo -e “\033[36m 天蓝字 \033[0m”
  11. echo -e “\033[37m 白色字 \033[0m”
  12. #字背景颜色范围:40-47
  13. echo -e “\033[40;37m 黑底白字 \033[0m”
  14. echo -e “\033[41;30m 红底黑字 \033[0m”
  15. echo -e “\033[42;34m 绿底蓝字 \033[0m”
  16. echo -e “\033[43;34m 黄底蓝字 \033[0m”
  17. echo -e “\033[44;30m 蓝底黑字 \033[0m”
  18. echo -e “\033[45;30m 紫底黑字 \033[0m”
  19. echo -e “\033[46;30m 天蓝底黑字 \033[0m”
  20. echo -e “\033[47;34m 白底蓝字 \033[0m”
  21. #控制选项说明
  22. #\033[0m 关闭所有属性
  23. #\033[1m 设置高亮度
  24. #\033[4m 下划线
  25. echo -e “\033[4;31m 下划线红字 \033[0m”
  26. #闪烁
  27. echo -e “\033[5;34m 红字在闪烁 \033[0m”
  28. #反影
  29. echo -e "\033[8m 消隐 \033[0m "
  30. #\033[30m-\033[37m 设置前景色
  31. #\033[40m-\033[47m 设置背景色
  32. #\033[nA光标上移n行
  33. #\033[nB光标下移n行
  34. echo -e “\033[4A 光标上移4行 \033[0m”
  35. #\033[nC光标右移n行
  36. #\033[nD光标左移n行
  37. #\033[y;xH设置光标位置
  38. #\033[2J清屏
  39. #\033[K清除从光标到行尾的内容
  40. echo -e “\033[K 清除光标到行尾的内容 \033[0m”
  41. #\033[s 保存光标位置
  42. #\033[u 恢复光标位置
  43. #\033[?25| 隐藏光标
  44. #\033[?25h 显示光标
  45. echo -e “\033[?25l 隐藏光标 \033[0m”
  46. echo -e “\033[?25h 显示光标 \033[0m”
    参考资料:https://it.0voice.com

http://www.kler.cn/a/395041.html

相关文章:

  • QT<30> Qt中使鼠标变为转圈忙状态
  • 数据结构Python版
  • 有了Makefile, CMake存在的意义是什么?如何借助Makefile构建ObjC语言编译环境?如何获取编译器的版本号?
  • 单片机设计电流与温度监控python上位机监控平台设计
  • 基于yolov8、yolov5的鱼类检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • Sql server查询数据库表的数量
  • 基于Spider异步爬虫框架+JS动态参数逆向+隧道代理+自定义中间件的猎聘招聘数据爬取
  • 一文了解Android中的AudioFlinger
  • C++ 数据结构详解
  • uniapp: IOS微信小程序输入框部分被软键盘遮挡问题
  • Vue2:组件
  • 常用服务部署
  • Python学习26天
  • SpringBoot(二十三)SpringBoot集成JWT
  • Ceph 中Crush 算法的理解
  • 【Linux】-学习笔记03
  • 【LangChain系列7】【LangChain实战—客服机器人项目】
  • Javascript中的深浅拷贝以及实现方法
  • CSS 语法规范
  • 【卷积神经网络】
  • 关于k8s中镜像的服务端口被拒绝的问题
  • ubuntu20.04 colmap 安装2024.11最新
  • Redis环境部署(主从模式、哨兵模式、集群模式)
  • 在Docker环境下为Nginx配置HTTPS
  • Java结合ElasticSearch根据查询关键字,高亮显示全文数据。
  • 20241114软考架构-------软考案例15答案