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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-7-5 10:06:14 | 显示全部楼层 |阅读模式
echo -e "\033[31m红字\033[32m绿字\033[0m"6 ~) l3 n6 N1 V* V

8 h8 v: V: c3 d+ B  X* \2 S/ C5 i* a- y( b0 y7 U! S2 T& W
echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"# 其中: "\033" 引导非常规字符序列。”m”意味着设置属性然后结束非常规字符序列。echo -e "\033[41;32m红色背景绿色文字\033[0m"# 其中: 41的位置代表底色, 32的位置是代表字的颜色。
1 A/ o/ N  n5 m9 N. @/ B  |! o( @  D( q3 X( M3 y. k: a8 @9 ?
3 N% `  {% L/ J$ J3 D# G) t! K
$ echo -e "\033[32m绿色文字\033[0m"
  K7 t0 e9 P' Z
2 l  v2 Q. x1 C3 N5 Z# {; T
echo -e "\033[31m红字\033[32m绿字\033[0m" # 输出红字和绿字echo -e "\033[31m红字\033[43;32m绿字带黄色背景\033[0m" # 输出红字和带黄色背景的绿字
/ R9 R. x- i: L, N$ ]" S字背景颜色范围40–47
  • 40:黑
  • 41:红
  • 42:绿
  • 43:黄色
  • 44:蓝色
  • 45:紫色
  • 46:天蓝
  • 47:白色4 T$ f3 A* J% W6 \
[size=0.85em]#字颜色30–37
  • 30:黑
  • 31:红
  • 32:绿
  • 33:黄
  • 34:蓝色
  • 35:紫色
  • 36:天蓝
  • 37:白色
    7 c9 A# ]% a6 E3 k
[size=0.85em]#ANSI控制码的说明
  • \33[0m 关闭所有属性
  • \33[1m 设置高亮度
  • \33[4m 下划线
  • \33[5m 闪烁
  • \33[7m 反显
  • : s* a9 f, \8 Z$ ^
# o& H: T  z8 K3 u' m! s

0 a8 a  b& B3 h6 F: u' V/ N+ Q: P' }  G  f5 Z6 N( G
日志颜色控制 当我们编写Shell脚本时,需要将日志信息保存起来,我们也可以使用echo命令输出带颜色的字体,方便查看日志信息。  如,我们将以下代码加入到~/.bashrc文件中,并重新加载,使其生效。
4 g- w7 O- p% N8 a& ?0 J9 H% l  G1 R( m
################################################## 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] ====> $*"}
9 a2 F- ~! n5 t9 t% `$ O- T
然后,在命令行就可以打印不同样式的消息了。[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
6 m: O! U  u' d0 h# l, ?5 r* E( W/ i5 c0 @3 x. p# H

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:13:04 | 显示全部楼层
#################################################
3 u2 E# f! T  i( k' n" ?1 ^6 w# Get now date string.  r" p+ f8 {5 J& f% _
# 当前日期字符串
2 P8 T# M. o9 M0 }: f& \% H3 `: a#################################################
; J8 x4 E. u" y; P% q& n. Yfunction now_date() {
; A9 \9 ~$ F/ c& {6 J; M4 o% l    format=$1' `! W% O8 U1 k1 d8 A8 O! H
    if [[ "${format}" ]]; then
( A3 T, Y* C7 {: @        now=$(date +"${format}")
# j0 _& y  ~  j    else& O( E8 Y$ p; n8 d. B
        now=$(date +"%Y%m%d_%H%M%S")
$ V! M+ M1 _) _" c9 i6 m' Z9 ~0 y    fi
/ w9 \, J+ i) d0 J
  u; Q+ L/ H7 f) b% `    echo "${now}"
! n3 P/ s4 S9 ], e9 V9 U( e2 C! d5 m}" t& f1 ]; z1 b" n1 v
8 m2 ^, l6 t* p% R, }2 j/ N/ B$ v
#################################################
6 a# q% l! a) W  c# Basic log function.$ B) ]& l" p% C8 S8 Q1 U
# 基本日志,输出时间戳
: X' I" J( k/ ?8 y: e* _" K5 l# ex: [2021/08/15 19:16:10]
/ M5 J8 c1 Q# n& ]: [& r! [#################################################7 T- D8 Z+ s# X3 H
function echo_log() {3 T: k- \0 S1 c+ V0 N
    now=$(date +"[%Y/%m/%d %H:%M:%S]")
' v- \  r3 c0 [6 H, @    echo -e "\033[1;$1m${now}$2\033[0m"
8 k. P; d, y6 T5 ~5 W}
, S  h, N# K3 J5 |+ a# N
! o" n) y9 D) a$ I6 x#################################################
- e& b3 w, X; h7 E3 _, B: K# Debug log message.; u" @. [" Q, J( ^; \) D" K
# 调试日志,黑色7 o4 d( x( \1 V, y
#################################################
# {. f  X2 ~+ P' Dfunction msg_debug() {
' j9 W! ^* V8 M# U    echo_log 30 "[Debug] ====> $*"
. u( C& Y. ^( b/ r( d$ C& i" z}
6 `: R/ N' W$ @$ ]+ T
$ a! W( i9 \3 ?" ]5 d0 Z) N' @#################################################. [: o! D% f; k3 h! a$ b
# Error log message.1 c; v* }& s. |4 ?0 D$ j# M. S
# 异常日志,红色% }% @6 V/ z% q4 L6 k; t! g! v
#################################################+ j# O+ e( s* \; ]: {7 D
function msg_error() {
/ h4 V0 @# ?9 g) M8 q  X; D    echo_log 31 "[Error] ====> $*"& B# v& r9 q% q% p8 v$ p
}2 f  |: _/ E1 |

: _' o; ^& L5 Y& ^6 B- _" u6 n; Z$ |#################################################6 |3 m# O! }$ t( H$ B
# Success log message.
7 d, [* _5 `3 y! ^) ^, z! z. R- l# 成功日志,绿色
: h4 C3 ?& i3 a# V) C7 O#################################################
6 ?1 N8 W, H, ~" i! ?% `  `" ]% Hfunction msg_success() {% L1 V5 ^% N( X
    echo_log 32 "[Success] ====> $*"4 ?9 k/ |. o9 q! a. Z  ^
}" |5 W' w6 m- |) T
  U, b6 @; i! l
#################################################
' M1 x8 O" p4 }! e! s8 x# Warning log message.
- D0 y9 w) l$ F; c( m# 警告日志,黄色
$ D- R# t: O4 `4 K9 Q: c#################################################
& A3 X) E( q9 Z4 @8 Wfunction msg_warn() {
( q( a4 h! D/ H  R    echo_log 33 "[Warning] ====> $*"  i8 @7 v4 E8 K. ^
}
4 r4 S  B% U8 H! ^5 I. k8 T6 k# @) j$ D- b) `
################################################## s: B& m# Q9 ?) `/ o" H2 }6 ^% w
# Information log message.
2 \( b; Q. x) J# 一般消息日志,蓝色
& w) H+ K+ t, ]2 R. c/ H#################################################  p7 u; c* m" t7 P- Y& Y
function msg_info() {
( K) H! U  m; j% q    echo_log 34 "[Info] ====> $*"
7 J) `$ R* k# ?}

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:13:31 | 显示全部楼层
echo  字符颜色一般使用在bashrc文件中最好是放在/etc/profile文件中
+ N/ V: E2 P( e1 f: i5 X" N4 y. `) n' D) E0 c' ^, }" a

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:21:45 | 显示全部楼层
echo显示带颜色,需要使用参数-e
4 x/ S4 B' e  H) i9 x& I3 U, w: ~/ v# w9 F( H
格式如下:6 S9 H' x. z/ V2 T  I

( r9 S6 r7 K+ J$ _6 n$ C1 Oecho -e "\033[字背景颜色;文字颜色m字符串\033[0m"
& Q4 I9 ^5 }5 x: J3 s
) ~+ k0 U8 A" A: ^& \例如:echo -e "\033[43;31mred color\033[0m"5 j6 t6 v, Y9 ~/ @
0 {( g. `9 Q  L- D  X* @# p
1a80953faa8a96e2bca6f4de30a61123.png
9 |( ^; P  S- {
$ `9 w9 \8 e# e/ K8 s3 b8 I例如:echo -e "\033[5m\n \033[32m *\n\033[33m ***\n\033[35m*****\n\033[0m"3 ^9 a) B. M. M

$ K; }: |+ K: a* P每一行不同的颜色,并且闪烁
2 i% g* d$ v5 b7 ?7 v) _6 V* |+ ^* W3 s5 G7 E: F; f: x( ?  ~$ J
8d646061f2731673f0bfc5cb03c03162.png
/ A: ?0 Z2 U' b4 }
9 \! |$ d! j; U/ C控制选项说明 :# J, K! u+ Q$ w9 O. r  Z" E

9 E$ i7 S0 U" c6 F3 {* G/ n$ a- _\33[0m 关闭所有属性
; ~9 ]" E# v3 P# j
. q5 W2 G# m# w  @, n\33[1m 设置高亮度* r( }# N( B4 E2 f5 @

. M7 M3 F, g2 z8 O" N\33[4m 下划线8 `- |& H  s# Q% P! c; N; h
; T3 c/ i! |& p4 k6 ^1 }4 r" \5 @
\33[5m 闪烁, g  B" p4 f: c0 ]& G

( l9 K2 A4 q  `# X\33[7m 反显$ o! A( |' T1 C8 M; m  }$ x, n

: t+ C; n0 \- v4 q. A7 M\33[8m 消隐8 v" W& l- ?9 o3 u2 f& _- I" h: V

: L' X! S2 N3 q* A! M\33[30m -- \33[37m 设置前景色  F5 r+ R: q- U& I/ E( {& ?

6 z. a6 q' e5 J2 W7 C  H\33[40m -- \33[47m 设置背景色
6 y9 `2 U0 P2 c8 ?8 q
1 \& {6 W/ d* l% r& x) q$ j\33[nA 光标上移n行/ {0 V+ m4 ?% w( m
9 ?' T( D  E5 f, h
\33[nB 光标下移n行
% l- p* B: m& r7 |) A( r! V1 x' o
\33[nC 光标右移n行+ V& F+ W4 s' n/ L3 _$ r

' |7 F. g' v% g' y. T! S& L\33[nD 光标左移n行
, x0 A( N1 \- c% z$ u4 @4 m1 e
\33[y;xH设置光标位置5 D+ Q! I% C, V! k  e
5 h) O1 G# B& \3 u3 |( O; _
\33[2J 清屏
9 y$ @4 H" _" ~; y" p8 H# _! x4 L4 h: t& Y1 J
\33[K 清除从光标到行尾的内容
9 G3 j- p& A4 k. C. v/ _8 Y0 x2 _
; J( T/ D/ _. U; j& D' n9 w3 X\33[s 保存光标位置
. i  `- G$ K/ r: ?7 ~, l% }( X5 e8 {9 \$ Z& p
\33[u 恢复光标位置2 E5 ]( q$ f: N2 n9 Z) W+ E! f

6 s- `3 l2 H' `5 z4 }- g\33[?25l 隐藏光标0 T6 N% m3 l0 @8 X

9 N& l3 k: n3 {) I) J\33[?25h 显示光标

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 16:14:44 | 显示全部楼层
echo -e "\e[31m 欢迎来到Redhat Linux 操作系统\e[0m"# S5 w6 G) A! u+ p/ Z
echo -e "\e[1;31m 请合理使用云主机分配内存,所有应用目录建议使用/data目录;\e[0m"
3 ^, ^+ t* f/ ], Secho -e "\e[1;31m 系统后期维护,建议不要使用lvm方式扩容根(/)目录. \e[0m"; p" c, c0 Q* F0 G5 k  u  T
echo -e "\e[1;31m 系统未分配swap,请自行添加swap分区,百度即可,swap分区有利于节约内存开销;\e[0m"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 05:33 , Processed in 0.016194 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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