易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 638|回复: 4
收起左侧

ubuntu debian linux 系统登录系统显示欢迎语,以及相应颜色bashrc

[复制链接]
发表于 2022-7-5 10:06:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
echo -e "\033[31m红字\033[32m绿字\033[0m", g2 E, A7 r/ |7 Q0 W: D8 Y

. {& X! j! S( y( A' O3 Y4 O/ J, J0 j: l: F7 k
echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"# 其中: "\033" 引导非常规字符序列。”m”意味着设置属性然后结束非常规字符序列。echo -e "\033[41;32m红色背景绿色文字\033[0m"# 其中: 41的位置代表底色, 32的位置是代表字的颜色。' l& ?/ ?. n, U* Z  ~: I
9 u- J+ p0 K2 u9 W$ U. E7 G

0 r* U' q8 m0 S  [# @, N( ?8 x4 M( ~$ echo -e "\033[32m绿色文字\033[0m"
% ^! M) K: y: Q
7 [  j0 K+ h1 g! y
echo -e "\033[31m红字\033[32m绿字\033[0m" # 输出红字和绿字echo -e "\033[31m红字\033[43;32m绿字带黄色背景\033[0m" # 输出红字和带黄色背景的绿字2 ?! d4 ^/ L! {2 t7 V
字背景颜色范围40–47
  • 40:黑
  • 41:红
  • 42:绿
  • 43:黄色
  • 44:蓝色
  • 45:紫色
  • 46:天蓝
  • 47:白色
    : L& f, h/ Y9 p( `: z: v) q* z5 ^
[size=0.85em]#字颜色30–37
  • 30:黑
  • 31:红
  • 32:绿
  • 33:黄
  • 34:蓝色
  • 35:紫色
  • 36:天蓝
  • 37:白色
    + Q' b- o; z6 X2 R4 d. u1 j; J
[size=0.85em]#ANSI控制码的说明
  • \33[0m 关闭所有属性
  • \33[1m 设置高亮度
  • \33[4m 下划线
  • \33[5m 闪烁
  • \33[7m 反显

  • 0 q+ c$ F3 t2 \
3 Y- \3 X0 ?5 J5 I

7 [0 O; ]% W2 }$ z: h& m5 b3 E5 O8 X7 R& h9 E- B1 _! i
日志颜色控制 当我们编写Shell脚本时,需要将日志信息保存起来,我们也可以使用echo命令输出带颜色的字体,方便查看日志信息。  如,我们将以下代码加入到~/.bashrc文件中,并重新加载,使其生效。
$ U* T8 |: q' }' v7 L- [+ s( {4 M5 j" i2 ?; y" I4 B
################################################## Get now date string.# 当前日期字符串#################################################function now_date() {    format=$1    if [[ "${format}" ; then        now=$(date +"${format}")    else        now=$(date +"%Y%m%d_%H%M%S")    fi    echo "${now}"}################################################## Basic log function.# 基本日志,输出时间戳# ex: [2021/08/15 19:16:10]#################################################function echo_log() {    now=$(date +"[%Y/%m/%d %H:%M:%S]")    echo -e "\033[1;$1m${now}$2\033[0m"}################################################## Debug log message.# 调试日志,黑色#################################################function msg_debug() {    echo_log 30 "[Debug] ====> $*"}################################################## Error log message.# 异常日志,红色#################################################function msg_error() {    echo_log 31 "[Error] ====> $*"}################################################## Success log message.# 成功日志,绿色#################################################function msg_success() {    echo_log 32 "[Success] ====> $*"}################################################## Warning log message.# 警告日志,黄色#################################################function msg_warn() {    echo_log 33 "[Warning] ====> $*"}################################################## Information log message.# 一般消息日志,蓝色#################################################function msg_info() {    echo_log 34 "[Info] ====> $*"}# e/ X4 ~1 |4 J9 Q7 U' A3 [) \# h/ O' q
然后,在命令行就可以打印不同样式的消息了。[meizhaohui@hellogitlab ~]$ msg_debug 'debug message'[2021/08/21 12:35:45][Debug] ====> debug message[meizhaohui@hellogitlab ~]$ msg_info "info message"[2021/08/21 12:35:47][Info] ====> info message[meizhaohui@hellogitlab ~]$ msg_warn 'warn message'[2021/08/21 12:35:58][Warning] ====> warn message[meizhaohui@hellogitlab ~]$ msg_error 'error message'[2021/08/21 12:36:16][Error] ====> error message[meizhaohui@hellogitlab ~]$ msg_success 'success message'[2021/08/21 12:36:25][Success] ====> success message
& D! o* i; V" E% g. X
' `* v2 }" ]9 n# e5 u
 楼主| 发表于 2022-7-5 10:13:04 | 显示全部楼层
#################################################6 h9 \1 j: g7 t3 P
# Get now date string.+ q1 i/ x, ^3 {5 V% S3 D
# 当前日期字符串. x# t/ |8 y1 G" J( i
#################################################
$ ]6 M: H7 w( Cfunction now_date() {
, q4 J. I: E' r4 r! Q2 U- o1 l    format=$16 t! y' \1 i8 f$ s
    if [[ "${format}" ]]; then
* v: `7 \# E7 \) |        now=$(date +"${format}")- ?$ R$ d, q: L/ z
    else
( h' d5 g3 }7 i- M* i+ o& w        now=$(date +"%Y%m%d_%H%M%S")3 t& s0 S' b( N
    fi
3 P. O7 k, \4 L" l2 z' t5 e/ R6 w: v
    echo "${now}"- ?; }/ d% P, \* x3 W+ _4 N1 u$ @: {0 U
}$ w# S2 p, a: |# O; q

6 L: f4 e9 N% [0 l, I6 P6 G" o3 v4 N#################################################
$ a% q  n  y. P& P! j7 n& I# Basic log function.* r, P7 S# y  G$ d. m
# 基本日志,输出时间戳
/ B; \/ f* W% n) g! m" i# ex: [2021/08/15 19:16:10]
) B8 ~5 `* C- A8 J8 r#################################################
9 w- a/ F9 M5 A2 b  `0 u. dfunction echo_log() {7 D( L4 o( u$ H+ s: G
    now=$(date +"[%Y/%m/%d %H:%M:%S]")
& c/ u) O) l% @    echo -e "\033[1;$1m${now}$2\033[0m"+ s# x- M, k7 L7 x- R
}2 ?/ t+ [; g4 O+ V9 b% V1 ~
: y/ Z2 o& y3 `9 o' @7 L! c" U
#################################################
! s3 T3 D5 y( }0 K4 `9 |# Debug log message.
4 F/ H  Q3 F8 z# 调试日志,黑色4 t2 d, S7 H* @" f( i4 I
#################################################
$ A3 v8 k" R5 y; r0 K! W9 v, `! @function msg_debug() {5 S4 A8 C) E' A, b& {2 [( S
    echo_log 30 "[Debug] ====> $*"/ P1 a! d, e6 ^2 z* j! }
}
& T8 [" {% n; @% C; T9 p7 [6 f$ y" g+ x. }9 w
#################################################9 k9 f( p7 C2 ]! B8 y8 C
# Error log message.& K! ]) w8 o/ y; {4 A
# 异常日志,红色( X* T2 x/ b' |) z  B
#################################################
4 B+ |. ]  l. ~: U6 o- Z. q6 zfunction msg_error() {
& j% g: C# }# T    echo_log 31 "[Error] ====> $*"
- n* Y8 m# N* S* d& x: L1 P}- _1 u) e) H4 `4 M: d4 p3 R

1 K" l2 R: V9 z7 j#################################################
0 Z- B6 Q+ P2 z* [8 J7 j$ x! Y# Success log message.2 r" e; M) V5 [/ A( T) {$ B5 t, e2 @
# 成功日志,绿色
3 S- Y8 X: Q) {6 i#################################################$ \4 E6 i7 _" X: L# a
function msg_success() {
; i' j" x) D% |. j9 P) }6 F& Q" {# k+ x: }    echo_log 32 "[Success] ====> $*"" p7 Q, ~6 E6 ?3 d" H
}
1 y7 a3 w' U  j: v3 u7 F
$ f* _2 \4 L( e5 V' b#################################################
: |+ z( O: h) Y$ w7 D5 O# Warning log message.3 ~  @, l6 L3 Z% _* J; f
# 警告日志,黄色9 n' s+ W; |) p- K
#################################################
. M$ j; i  e' q( G  ?- n: x5 mfunction msg_warn() {
+ V! s/ Q, O- ^    echo_log 33 "[Warning] ====> $*"
( I9 ^  F+ @& M+ d4 _}+ s& G# w, l( b& p
4 {6 w2 g( a. c2 G! A
#################################################
6 D9 T/ i5 I0 \  ^# Information log message.
8 D' x# T: r8 Y9 t& ^7 M# 一般消息日志,蓝色) w* a2 ]# x+ L0 x
#################################################
) L2 X. I+ b+ c6 Gfunction msg_info() {/ F' ]) U+ C- f) I
    echo_log 34 "[Info] ====> $*"
" N$ p$ @- Z) s$ S6 ]8 ^}
 楼主| 发表于 2022-7-5 10:13:31 | 显示全部楼层
echo  字符颜色一般使用在bashrc文件中最好是放在/etc/profile文件中
: A2 l) I8 V: b( C0 a
  ^$ _! _" a4 Q9 s% x! [2 o: J
 楼主| 发表于 2022-7-5 10:21:45 | 显示全部楼层
echo显示带颜色,需要使用参数-e3 g1 A. S3 [/ b9 x5 j' w  k

3 V" G' ^" M. K; o' {; i格式如下:2 ~! E* C) H" Z& H  n) W! l
5 ~' a" q' k4 s& L
echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"
$ T# b+ z4 ]! F/ G8 o0 D6 Q
1 K$ o0 c! B, F, Q# h例如:echo -e "\033[43;31mred color\033[0m"* ^5 _$ U9 b0 o9 h1 i- a

- Q) n3 {5 D6 r* O1a80953faa8a96e2bca6f4de30a61123.png
( `" B# N2 T9 K$ C, P4 p5 w, ^% e4 f' v$ @8 e% l1 P
例如:echo -e "\033[5m\n \033[32m *\n\033[33m ***\n\033[35m*****\n\033[0m"
8 r% h. ?9 V( h0 n' S7 y% e2 P1 A  t3 b0 d( ?: m" F- m8 o7 A
每一行不同的颜色,并且闪烁" L* B; o. s- m8 z8 m+ I: _

0 A. d6 L, l( @- f. [8d646061f2731673f0bfc5cb03c03162.png- ^  e. m7 G# z# R; r

; H1 w1 r; Y0 r0 g! U控制选项说明 :1 e7 n5 ?' \( [* W9 Y, j! r, ~4 R
: ~5 x( P) g- ~9 W8 G1 m' B: u$ K
\33[0m 关闭所有属性
9 w; h3 q& f! F$ }( ]5 c- d8 V& O8 |- D$ c: \, A
\33[1m 设置高亮度3 d' d3 P4 M; f4 W, C

; S, ^7 m( H5 p* q% X- z3 a/ }' `6 ~\33[4m 下划线
' T$ C0 \  [/ @7 q* N, T& ^# `6 r0 X; @! K/ V* c' O0 ]
\33[5m 闪烁* {. N8 U1 L5 ?3 Y: S+ W6 W

2 v+ W. c! P  d* `) o3 H+ U: L\33[7m 反显! Q' V/ Y% Z5 h6 V, k- r: J
: W0 P" a" m: @# Y& R, `
\33[8m 消隐
% x: J, o- }7 w, ~; F$ {& F  ?% W# T! o
\33[30m -- \33[37m 设置前景色/ j  K3 _6 i! p  h: s% k2 u, R
$ C. T. S7 i+ }. e" m; r
\33[40m -- \33[47m 设置背景色
# B9 n* }( ]5 Q) y* H9 Q& K, a; C- B1 L
\33[nA 光标上移n行6 J( r# k/ v9 L" y  X" G
* A5 [7 k# q3 S# V* {9 M+ p. s* H0 n
\33[nB 光标下移n行  ?+ |+ V# f! D
' u. h0 L& Q+ C9 n9 g
\33[nC 光标右移n行
: R; i- ]# P8 H8 r* K6 {$ G) t6 H( s1 s& U
\33[nD 光标左移n行2 X9 v9 w! h+ L6 V; n9 G3 T% w% [1 w- X

6 J9 M" g- {; F) @; v1 F\33[y;xH设置光标位置
4 r) Z, U' C& B" t1 b1 j
% ]: [$ U5 d  ?3 `' \: D\33[2J 清屏
1 h: m$ V" {) n4 `" Q/ a3 G: h+ }! n
\33[K 清除从光标到行尾的内容
8 S5 K+ u1 Z: @* a5 Y
1 |9 ^8 ^6 K6 V2 i- H+ |+ B\33[s 保存光标位置
( T# O2 Y9 l0 w) Z( p& e, Q) ?! S; S0 a6 d
\33[u 恢复光标位置5 u8 s+ m! Y6 F" A/ F% t
% n  J( ?; A" q* h: D
\33[?25l 隐藏光标: y; T/ O( F5 ^! ~

' ?. h0 E; p2 f$ U  g5 x# Z\33[?25h 显示光标
 楼主| 发表于 2022-7-5 16:14:44 | 显示全部楼层
echo -e "\e[31m 欢迎来到Redhat Linux 操作系统\e[0m"
4 z- `/ {; |! E7 N! L$ }, mecho -e "\e[1;31m 请合理使用云主机分配内存,所有应用目录建议使用/data目录;\e[0m"
8 f' s4 A6 x" Q: Q4 ]$ e6 b0 }6 Pecho -e "\e[1;31m 系统后期维护,建议不要使用lvm方式扩容根(/)目录. \e[0m"
7 {0 a5 {. h. ?0 f. Oecho -e "\e[1;31m 系统未分配swap,请自行添加swap分区,百度即可,swap分区有利于节约内存开销;\e[0m"
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-9 00:02 , Processed in 0.051560 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表