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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-7-5 10:06:14 | 显示全部楼层 |阅读模式
echo -e "\033[31m红字\033[32m绿字\033[0m"
# K% A' Q1 w1 B; l
& W' a3 p9 n: b% [1 m. U
8 D4 R$ T1 O% F5 z8 N7 u0 J echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"# 其中: "\033" 引导非常规字符序列。”m”意味着设置属性然后结束非常规字符序列。echo -e "\033[41;32m红色背景绿色文字\033[0m"# 其中: 41的位置代表底色, 32的位置是代表字的颜色。
" n! O8 L6 |8 u6 M5 m6 ]4 O( H* `) f% N
2 Z" m! j* A' t# J4 `/ E8 C: g
$ |+ D( J+ ~/ v) Y  q9 @$ echo -e "\033[32m绿色文字\033[0m"
& z% Z  y9 k0 r* m
9 |/ Y6 W/ v0 l1 n% P/ J% G5 ~7 q2 ?
echo -e "\033[31m红字\033[32m绿字\033[0m" # 输出红字和绿字echo -e "\033[31m红字\033[43;32m绿字带黄色背景\033[0m" # 输出红字和带黄色背景的绿字  N% A7 |( Q$ \- F
字背景颜色范围40–47
  • 40:黑
  • 41:红
  • 42:绿
  • 43:黄色
  • 44:蓝色
  • 45:紫色
  • 46:天蓝
  • 47:白色0 ~- h7 ~. c" @+ k% Y2 y, ?( J
[size=0.85em]#字颜色30–37
  • 30:黑
  • 31:红
  • 32:绿
  • 33:黄
  • 34:蓝色
  • 35:紫色
  • 36:天蓝
  • 37:白色
    . U* |* \+ H& E% F; a
[size=0.85em]#ANSI控制码的说明
  • \33[0m 关闭所有属性
  • \33[1m 设置高亮度
  • \33[4m 下划线
  • \33[5m 闪烁
  • \33[7m 反显
  • " ~' H4 E# d: _' t6 y+ U" t+ ?

- f  n1 @9 z' S7 k' Q7 v7 x
, F+ M( x/ v4 @& A9 Y) ]+ V. d& M5 J% X
日志颜色控制 当我们编写Shell脚本时,需要将日志信息保存起来,我们也可以使用echo命令输出带颜色的字体,方便查看日志信息。  如,我们将以下代码加入到~/.bashrc文件中,并重新加载,使其生效。
! ?( L# Z% ]6 A8 P! r$ H& n4 ]$ }' c0 Y$ D
################################################## 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] ====> $*"}! q3 j# ]2 j8 h& V5 ?, l9 P; m
然后,在命令行就可以打印不同样式的消息了。[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 message0 j% V* c  W' z' [, V

* c( ]" t1 k2 _1 J' v

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:13:04 | 显示全部楼层
#################################################
6 J, m, V" h0 }( R5 E7 l# Get now date string.
! o$ \- d/ C+ W6 m: v# 当前日期字符串
8 O: y2 p4 q. B- s' m. N#################################################- n/ j; F, r. d4 e$ D
function now_date() {
' n" k/ v9 E5 \3 x+ j    format=$1
7 `. h; G+ y- E9 ]( V# |    if [[ "${format}" ]]; then
0 V8 ~# v7 M  X        now=$(date +"${format}")" }0 L& V: b! k. U
    else
1 Y! O" B. T8 B7 j' Q+ k) \        now=$(date +"%Y%m%d_%H%M%S")% g. ~. O, v. Q; q1 W3 E- i. l0 H
    fi) ?0 h$ {4 D, P  E; E/ Q! x
. i  z( s- W0 N4 E& J3 ~
    echo "${now}"  T1 {3 O' i+ d9 M. N
}
( W8 n7 ^0 f" m3 o6 C6 H6 E
# a% V7 W$ r) b: l( v8 {#################################################, S; Q: Q0 I3 r8 O8 v
# Basic log function.
$ R6 p) l2 E! S1 x* }" l# 基本日志,输出时间戳
& A) e1 f8 I1 h) T6 P# ex: [2021/08/15 19:16:10]
0 E) ^( v- d- V5 Z#################################################
# S! K* q# f: Q; tfunction echo_log() {# p. M7 S) U& X2 P( s* ~
    now=$(date +"[%Y/%m/%d %H:%M:%S]")
4 Z8 `$ Y/ W. n( [0 B0 t    echo -e "\033[1;$1m${now}$2\033[0m"# a1 A+ g4 C  t  j  h$ V
}' i; P' Z9 D! l2 w1 N" }
4 c8 e" h: h, z8 j/ }
#################################################5 `6 i) ^9 Z$ G8 }( q$ F
# Debug log message.
. f; |& r! t+ L# 调试日志,黑色% r: v1 O! c# K; f: w' m. S
#################################################
6 b1 _% S8 {! C/ g2 p3 wfunction msg_debug() {) i$ p; ^0 N4 W
    echo_log 30 "[Debug] ====> $*"& Y" x4 v/ s. e, T
}0 l7 w4 O$ V' y  d

& K# V/ ~( ^% ?4 `#################################################
; g9 I0 p* T& I) F0 @9 a6 ^# Error log message.8 e8 j9 E* }+ e! O
# 异常日志,红色3 X  @- \% R+ K9 w/ B4 g) K
#################################################  S, E# z+ b0 u; D& B" n
function msg_error() {
% W$ Z3 J) x, H0 b0 }7 c    echo_log 31 "[Error] ====> $*"9 k& {2 v3 A& z5 s
}
# |, {" D% s4 u2 J
$ Q0 |2 [" G+ `& B2 N* c2 `#################################################
( N5 B! W% }$ f! s( H# Success log message.
  O% y3 h, q# [  ]# 成功日志,绿色9 v; u* _* P2 m
#################################################% m& J' j9 g: t# `6 @8 `
function msg_success() {5 w$ K& O' j2 @2 u, n
    echo_log 32 "[Success] ====> $*"4 o+ M0 B3 U" e$ D$ j$ g
}5 }/ p3 ]& S4 K& F8 Y. S

) d! S- P+ [1 x: b0 X3 U( Z; {' |3 H#################################################
4 M- o( a2 y+ F4 H8 {3 f! W# Warning log message.2 G  ]# s5 H/ V6 e2 K
# 警告日志,黄色/ [, @* u0 T: Y
#################################################
4 j( W+ ~% T& Z2 W: Ofunction msg_warn() {9 I  l$ h. _! X+ \) K. o5 b
    echo_log 33 "[Warning] ====> $*"
/ r4 W; `& H8 L* M1 }' s}+ e2 o9 F0 X$ C+ o" T/ q- Y

! [. l; q7 k' h3 g% |) R#################################################
" A# s3 z: ?* x# h7 O9 B% @# Information log message.3 |( k+ v* m$ x. ^7 T" H
# 一般消息日志,蓝色
) U" l/ x, [2 q$ R" j8 {#################################################
' A9 s5 R6 S2 k& ~. ffunction msg_info() {5 t2 B# R; p+ ?7 e
    echo_log 34 "[Info] ====> $*"
5 P# s; [( O  B# g0 [}

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:13:31 | 显示全部楼层
echo  字符颜色一般使用在bashrc文件中最好是放在/etc/profile文件中; l$ `( e5 n" T- K3 }3 A' Y/ u

; m- f- A) W! D9 A# L

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:21:45 | 显示全部楼层
echo显示带颜色,需要使用参数-e+ R( l3 C1 m7 Z9 _
* _, W0 L; `. ~. T6 C9 z! i4 u
格式如下:* o; M! l( R* f

. \3 ^% o, L1 Y) _' Y. t) Zecho -e "\033[字背景颜色;文字颜色m字符串\033[0m"6 v. t3 |! M/ D/ a2 m: X: C1 V

! |7 I* [  }0 a( q" Z2 k4 l1 o" m3 F例如:echo -e "\033[43;31mred color\033[0m"% _1 q1 y, V9 N

1 }, o2 j( O: l) ~3 k1a80953faa8a96e2bca6f4de30a61123.png
& _* ~) s: S% y5 d# e5 p1 G
; i) |4 [; R1 R$ l' |- Q$ J( D例如:echo -e "\033[5m\n \033[32m *\n\033[33m ***\n\033[35m*****\n\033[0m"
# |% W0 A  Y7 A5 p$ ~8 ^( X/ K6 }. B! ], b: Q
每一行不同的颜色,并且闪烁
$ O+ @. V! _0 [- a/ q9 U7 o) S8 B& M/ }* j7 {" ]# R( }0 r0 f. i3 v: L
8d646061f2731673f0bfc5cb03c03162.png
; T/ \- B' _9 y7 u
8 |' E: t* I7 Y控制选项说明 :
2 R3 ^+ z( y5 v% L2 u3 e1 ^. _) C3 H0 h/ j
\33[0m 关闭所有属性' f2 t& x9 f. j& b' c  t1 P8 Z
. K7 o; `# i3 Z5 g+ }( S
\33[1m 设置高亮度
3 N6 A3 J8 }1 s0 Z/ A/ I0 R
8 a! L# n/ J+ ]. `! I* N" U\33[4m 下划线
7 O+ ?, H8 F  Q% C5 v  k3 Z) l8 ]2 E" t$ o
\33[5m 闪烁
; [$ F1 u1 y; s1 ?! n- B4 q  l: N- k- k; s0 C8 K$ c
\33[7m 反显4 P% o$ S' f+ [: V. L( B) M

1 B! ^- K" [* Y! A5 j\33[8m 消隐
4 A3 O# }1 k8 A$ [7 f. V, x& b! N4 G# o1 v
\33[30m -- \33[37m 设置前景色
$ r; N1 O! g* O3 m
; @# v* @. \$ y  A  [6 \0 Q\33[40m -- \33[47m 设置背景色: Q; P( N4 s0 x# S: P: G

( U0 `  @2 z; e# b  b4 R( ^\33[nA 光标上移n行
; r! Q( N! A5 O# K* T: o) [  \+ @# J% z- A& u
\33[nB 光标下移n行) k0 d7 a1 Y/ ~  t& ^( F) w

, w' I+ E+ Q4 E# b+ E, ]\33[nC 光标右移n行
$ f/ w. X* h' m& R3 o1 H# n$ L& r. M0 j
\33[nD 光标左移n行
$ ^8 Z$ T) k+ @2 n) x
% w/ q8 T# S7 m; S2 V0 L1 `, |& h\33[y;xH设置光标位置& C6 f' Y4 v. Y

! v& z$ O. D: L+ O/ I\33[2J 清屏
7 q& g1 f2 L" F0 {  ^" Y( ?7 T2 u/ e
\33[K 清除从光标到行尾的内容& n5 g2 E  f/ h1 |1 m. G; f5 N

$ W% P. [! m$ W5 L% ^/ U\33[s 保存光标位置- L! H. `4 d+ }# ]) P

& c0 Y* q0 W4 ?7 J) X\33[u 恢复光标位置+ `: k/ f7 m6 ?
$ M' J+ z- T6 x1 Z( b3 f; `  _( v
\33[?25l 隐藏光标
3 ^* T# ?8 `  i# C) C. s" P$ R
" s1 u! h. ?" \' \; b2 P0 ~. ^4 _4 z% ?\33[?25h 显示光标

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 16:14:44 | 显示全部楼层
echo -e "\e[31m 欢迎来到Redhat Linux 操作系统\e[0m"  n3 }6 y, i+ w
echo -e "\e[1;31m 请合理使用云主机分配内存,所有应用目录建议使用/data目录;\e[0m"
5 u5 P- v" W% _- a) S8 iecho -e "\e[1;31m 系统后期维护,建议不要使用lvm方式扩容根(/)目录. \e[0m"
$ e: E1 }9 ?! Q4 X  A  U2 ^7 Pecho -e "\e[1;31m 系统未分配swap,请自行添加swap分区,百度即可,swap分区有利于节约内存开销;\e[0m"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 03:21 , Processed in 0.021531 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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