找回密码
 注册
查看: 644|回复: 4

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-7-5 10:06:14 | 显示全部楼层 |阅读模式
echo -e "\033[31m红字\033[32m绿字\033[0m"
+ |* W8 i3 I8 E, h3 S
$ f7 g3 r& J  n, B- s2 z' C4 ]  p" u
echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"# 其中: "\033" 引导非常规字符序列。”m”意味着设置属性然后结束非常规字符序列。echo -e "\033[41;32m红色背景绿色文字\033[0m"# 其中: 41的位置代表底色, 32的位置是代表字的颜色。& j5 z! g+ V, B; Y8 G! B# [# |

( O. x" ]; j: I8 A/ {) J6 G4 g' X2 ~6 n- _2 o; w- D6 c
$ echo -e "\033[32m绿色文字\033[0m"& @6 ?& |# v: z- L- Y. ~
+ k6 l  l( [; f9 q
echo -e "\033[31m红字\033[32m绿字\033[0m" # 输出红字和绿字echo -e "\033[31m红字\033[43;32m绿字带黄色背景\033[0m" # 输出红字和带黄色背景的绿字. I9 _8 P  s# p7 F$ A2 f* d7 C
字背景颜色范围40–47
  • 40:黑
  • 41:红
  • 42:绿
  • 43:黄色
  • 44:蓝色
  • 45:紫色
  • 46:天蓝
  • 47:白色
    7 k" d+ @0 E& G, X/ _4 t
[size=0.85em]#字颜色30–37
  • 30:黑
  • 31:红
  • 32:绿
  • 33:黄
  • 34:蓝色
  • 35:紫色
  • 36:天蓝
  • 37:白色
    ' T! t3 t: V9 }& ]
[size=0.85em]#ANSI控制码的说明
  • \33[0m 关闭所有属性
  • \33[1m 设置高亮度
  • \33[4m 下划线
  • \33[5m 闪烁
  • \33[7m 反显
  • 1 i& U( A( N$ U: R
: o$ G' x& A; K& U

' ?- C* Y# e4 J, @' I: T. g& y9 k$ o4 B7 o/ l+ _
日志颜色控制 当我们编写Shell脚本时,需要将日志信息保存起来,我们也可以使用echo命令输出带颜色的字体,方便查看日志信息。  如,我们将以下代码加入到~/.bashrc文件中,并重新加载,使其生效。
% |9 g( R2 Z9 o& U$ w
% y! ~2 J' r) y################################################## 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] ====> $*"}# d" N+ m- _4 n' P+ ~
然后,在命令行就可以打印不同样式的消息了。[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# N0 g' C& X  Z9 c: _; T9 w

9 y- J0 a7 _* }& `

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:13:04 | 显示全部楼层
#################################################6 A* ^; s% A. J! A1 V" i5 e. a
# Get now date string.
. _" p2 _' a% S/ }" V; M# 当前日期字符串, S" Z, D$ d3 j" \/ a7 b' {  v
#################################################/ }, V: W! R  ^; g- |9 {0 ?  g
function now_date() {
) P- W" c7 ^/ C# a1 u1 Y    format=$1% H  n$ _2 F8 k% E: q  v
    if [[ "${format}" ]]; then
0 S0 ?: {$ u- U! g+ Z2 R        now=$(date +"${format}")
6 v9 j. ~8 {3 s$ ]2 W" X  ]- j    else( n) R% b/ p- W2 C* S. W
        now=$(date +"%Y%m%d_%H%M%S")- ?5 w- B. m: `+ A6 s- t
    fi6 B+ f) W# v' F% N$ M: e3 ]" a
4 V, s# v+ ^2 F
    echo "${now}"
, ~, B, [/ V6 y5 _7 Q1 {! k}  f) w. h3 D: d. T
; b5 `8 H6 D1 ]
#################################################
, V! k1 g. J- b6 j# Basic log function.3 b- Z! b  h- |) ^/ p) p) o7 h
# 基本日志,输出时间戳
* b' Q% f  V+ S1 @7 _) O" u" G# ex: [2021/08/15 19:16:10]
# ^+ o, P2 k. ?7 z: m0 P#################################################1 Z! D- J( u+ O* o
function echo_log() {
7 y- D1 ~+ B" L' z" M; c( w$ D& {    now=$(date +"[%Y/%m/%d %H:%M:%S]")
6 e: w/ K" e: ]( U! B    echo -e "\033[1;$1m${now}$2\033[0m"$ c5 r. }& H8 Y- S, a) G0 F
}! A$ z( n* s# v4 Y: r# ~

6 [; p+ e- w( f' C#################################################
5 w) f, N/ |) Q0 l" o1 h# I# Debug log message.
2 m5 Z! }$ D6 }3 y5 U+ N' c) e( z$ q# 调试日志,黑色9 R0 m+ C) w0 r3 V
#################################################4 x; T9 V( Z* O, h$ x
function msg_debug() {* V* t- c  o0 [$ i5 n- l& W6 ?% e
    echo_log 30 "[Debug] ====> $*"6 P" i, a/ S( s% M$ L
}
( v$ h$ S1 d) y$ p: \9 u! d2 A
2 u- t. e$ G. `9 v8 M+ G0 K  T#################################################9 r) h6 J7 }7 C" D9 m( ~; X
# Error log message.! l2 c8 p; K6 N$ e# Q
# 异常日志,红色8 i- y4 C$ O" m5 j0 ^( X
#################################################
! m! d- ?9 X) S: p& Rfunction msg_error() {
( E& Z6 {) G1 T) u8 U) ^7 d) p    echo_log 31 "[Error] ====> $*": d! z9 C1 a5 j) }- v) P
}- D6 j$ }6 z' _, B9 p
. K; M  l0 ?: G% s, d" ]$ a# B7 Q
#################################################1 W& L0 ]. r8 G+ z" U, Z+ V7 r$ c
# Success log message.
8 o7 w# Q, k  [4 R# 成功日志,绿色# S6 q! m' N9 }  j1 u5 N& e1 M% Z
#################################################- [5 d: ^8 k! C" S8 v5 V! T" Q' x& N
function msg_success() {
. v4 ^2 y5 F8 Y' E. m    echo_log 32 "[Success] ====> $*"5 [6 |* Q; o7 @& E- @
}
  [5 v+ m& w0 Q0 Q
; n5 [9 S9 M! W. Y0 r8 \& d#################################################" o7 k/ y( {1 E/ K! A  `" l$ ~
# Warning log message.
1 n3 z, U+ z: f& k5 Q+ s5 A. ?# 警告日志,黄色
( I$ Q/ o6 x* I. m#################################################
% s4 U# X- M- M& c( kfunction msg_warn() {( g9 _1 a: I9 T' j
    echo_log 33 "[Warning] ====> $*"
7 _3 a* q$ T, ^# ~" ~* _}6 F0 M  H( w9 u( G% d6 h! M
! h; x  x/ b  v* b
#################################################* l5 ?3 q- _) C* F. s4 _$ K
# Information log message.$ U4 f0 @* [* v( X, [" x
# 一般消息日志,蓝色, p) N: y  q  f& ?/ y- G  l* ~4 V
#################################################8 j2 N$ x1 g: A3 s$ [$ p  g
function msg_info() {
; r: N+ P$ e9 r: X7 |- O" z) D& u6 @    echo_log 34 "[Info] ====> $*"2 C! i, \- M9 p& D% t. A: ]
}

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:13:31 | 显示全部楼层
echo  字符颜色一般使用在bashrc文件中最好是放在/etc/profile文件中1 n3 L1 m0 \5 ?
- j1 {3 x) V' F9 N/ y

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:21:45 | 显示全部楼层
echo显示带颜色,需要使用参数-e% @& [- K( {% t; X4 ^( U

8 S3 U  k% g$ J5 `格式如下:
$ t* G4 B" k, _! a8 y3 v/ Z9 A; M* P0 {- F& T- f! n! y% n
echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"
# j3 a0 l; o' G! d. v3 t+ v
( T8 Z! k2 q! A1 s  Q例如:echo -e "\033[43;31mred color\033[0m") U/ m! d1 O3 c- b/ \2 N! P
6 B/ r) r' |3 l, t0 j! p
1a80953faa8a96e2bca6f4de30a61123.png$ a) g) Q/ x3 A& \2 U
# \- p+ G* b$ H4 J  y& G
例如:echo -e "\033[5m\n \033[32m *\n\033[33m ***\n\033[35m*****\n\033[0m"
4 n) }7 Y- r+ X& E3 I! L' H* V( D. n1 u8 D( \1 B; h2 q
每一行不同的颜色,并且闪烁" Q  p5 ^* H6 R( W
1 s6 A9 E, T, U3 T- U1 f# Y
8d646061f2731673f0bfc5cb03c03162.png
+ r3 @+ v2 F( Y( P( v
% }, C* }9 o& u1 o$ Z. ~5 E) O控制选项说明 :
# n6 n4 b3 s' t, s
+ Z! _8 [6 h8 c3 M  h* _\33[0m 关闭所有属性
. e9 T* U- [6 j  [  K
6 c% K" K: p8 B/ e% R) x0 T6 [: T1 q\33[1m 设置高亮度- j% B" v5 m* v' v
8 F. e9 L0 E" s
\33[4m 下划线
1 L: C- j- B' n. K/ @+ M1 G/ _
- @! ]% h( \8 a% O& E\33[5m 闪烁
( g$ r4 j' B# G2 Q
$ v9 |0 ^* Z2 U* x! _0 k. z. c  N+ Z2 x\33[7m 反显
8 P5 [- }/ l& ]: l% C/ X% `. J
2 Y& |. z3 J- I6 C+ k\33[8m 消隐
" R6 a. Z: W2 g# J$ ]5 j5 c/ r' y. a' y$ l
\33[30m -- \33[37m 设置前景色
" v# |! }. q" ]( Y* m. m, t( {7 A( P9 r1 A/ H* r) E
\33[40m -- \33[47m 设置背景色) W1 |3 w3 a% F

( F, j2 Y: Q; A5 L0 [, x\33[nA 光标上移n行
9 _* G, K* D# e. M+ B9 n# }4 _4 t  C3 j  g9 i
\33[nB 光标下移n行$ R2 T( _: T: a/ g, `2 c: T2 p3 l

0 `7 C+ ^+ L/ d2 k% d\33[nC 光标右移n行# d$ o2 C7 J( {5 I' D8 Q6 ]2 ~6 e

: x2 ]) `; Q; X1 P4 v\33[nD 光标左移n行
  T% X6 ]; g. i8 @5 }  B6 O) h6 K/ V) B5 H; Q' x
\33[y;xH设置光标位置
3 {' A! G+ w6 x  ]! _: p2 V7 {3 D5 q, c7 f9 Z! I9 h. @% |# O  D
\33[2J 清屏
" c  C% t6 R# m& f2 [; B8 R  t5 |! }. p/ O
\33[K 清除从光标到行尾的内容! t$ r9 w* z* t, q  K6 ~" M
1 J8 [0 Y( G) s7 z
\33[s 保存光标位置
* y; i5 j( m' t9 B4 C
2 u6 r/ Q1 Y4 h; P$ C8 y: j5 ^/ d\33[u 恢复光标位置
( z2 g9 {5 P1 P7 J% q1 m% [3 M( T+ K4 z
\33[?25l 隐藏光标
# T& q+ U+ y- q& a' ?! |) {8 a6 A9 x* {6 O: A. d6 B
\33[?25h 显示光标

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 16:14:44 | 显示全部楼层
echo -e "\e[31m 欢迎来到Redhat Linux 操作系统\e[0m"
5 ]. r% Z' r) Becho -e "\e[1;31m 请合理使用云主机分配内存,所有应用目录建议使用/data目录;\e[0m"8 E- W% }7 B- \- O4 c( U/ ^
echo -e "\e[1;31m 系统后期维护,建议不要使用lvm方式扩容根(/)目录. \e[0m"/ |$ a. P& E0 r) g5 [$ L
echo -e "\e[1;31m 系统未分配swap,请自行添加swap分区,百度即可,swap分区有利于节约内存开销;\e[0m"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 01:56 , Processed in 0.016659 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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