易陆发现互联网技术论坛

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

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

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

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

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

x
echo -e "\033[31m红字\033[32m绿字\033[0m"7 \; @+ m& d8 y4 q
% |% I2 Y1 y, S3 Q3 ]9 ]

. q7 [! w9 h$ W echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"# 其中: "\033" 引导非常规字符序列。”m”意味着设置属性然后结束非常规字符序列。echo -e "\033[41;32m红色背景绿色文字\033[0m"# 其中: 41的位置代表底色, 32的位置是代表字的颜色。" E8 o5 f; ]; [: F- \
( V$ ~- i. t* j8 Z: C2 p/ E* }; _

9 t; ^: m$ e! X: U7 h4 T& W$ echo -e "\033[32m绿色文字\033[0m"
: w# ]  [6 O' z: i# u
8 u$ R( n5 C; }4 P
echo -e "\033[31m红字\033[32m绿字\033[0m" # 输出红字和绿字echo -e "\033[31m红字\033[43;32m绿字带黄色背景\033[0m" # 输出红字和带黄色背景的绿字) ~* l+ P2 P% l- g7 ^$ K
字背景颜色范围40–47
  • 40:黑
  • 41:红
  • 42:绿
  • 43:黄色
  • 44:蓝色
  • 45:紫色
  • 46:天蓝
  • 47:白色+ N0 s+ J( @: Y& Z" p! h0 }' c
[size=0.85em]#字颜色30–37
  • 30:黑
  • 31:红
  • 32:绿
  • 33:黄
  • 34:蓝色
  • 35:紫色
  • 36:天蓝
  • 37:白色! |' q' O# T0 C! @
[size=0.85em]#ANSI控制码的说明
  • \33[0m 关闭所有属性
  • \33[1m 设置高亮度
  • \33[4m 下划线
  • \33[5m 闪烁
  • \33[7m 反显

  • / x9 E. G+ \9 Q( r

1 g# L$ M% ?6 t, M! ?( X/ w
! o3 ]3 G( G/ ~8 \3 U. [0 X( M  y- ?. b9 f: {; y
日志颜色控制 当我们编写Shell脚本时,需要将日志信息保存起来,我们也可以使用echo命令输出带颜色的字体,方便查看日志信息。  如,我们将以下代码加入到~/.bashrc文件中,并重新加载,使其生效。# U; _- w9 b; x% j8 x

3 }0 j; z4 L/ r, B1 [, k7 l5 @" l################################################## 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] ====> $*"}, E0 f4 H+ Z: l8 t  I, @
然后,在命令行就可以打印不同样式的消息了。[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: _! O) j1 h4 Z$ D, O' Z

3 j' L1 {1 o6 t+ h2 m5 x
 楼主| 发表于 2022-7-5 10:13:04 | 显示全部楼层
#################################################
$ U. D% }5 L7 E5 N* m0 f  X# Get now date string.
9 K# f' m' T& b" e, t+ Z$ m# 当前日期字符串
0 N& n# D$ k+ F2 f1 B2 Y#################################################
$ {1 r' c7 v! y! [1 c7 [& P7 ^function now_date() {
$ W$ @2 k: b8 B2 B7 G& N5 o4 W    format=$1( N$ Q3 [: v+ W# U( a
    if [[ "${format}" ]]; then& a$ l) ?4 Z- G- B5 Y
        now=$(date +"${format}")5 O" X1 h7 t6 x* q' I; ?! t' `
    else2 E4 W" B* k  I5 T6 U, M/ o: {
        now=$(date +"%Y%m%d_%H%M%S"); N1 Z; b; l  b) Z! N
    fi
9 s$ I$ U$ j  `0 x" r8 N3 f
8 X& g  B( x0 h: v% O. R    echo "${now}"
! L8 i7 J5 u1 {9 y1 ^. U}
% \3 `5 i" L: ^' ^6 S  h! u) O  A( r. W0 c5 n' b
#################################################
, [9 `( ^% u4 m. W# Basic log function.8 m3 s- j8 ?+ u) ?* T
# 基本日志,输出时间戳
+ f) E' _! B* u4 ]: ^/ T0 Q8 l# ex: [2021/08/15 19:16:10]
7 ]  d& D: G& E$ b; [5 J, X" G" X#################################################3 F' O+ J# V1 H( L' ?
function echo_log() {
, r% k& a" ^0 O4 Y9 ]- D, B/ g    now=$(date +"[%Y/%m/%d %H:%M:%S]")) W% T$ ^/ F+ u1 W% T4 x( V6 v
    echo -e "\033[1;$1m${now}$2\033[0m"
4 C3 m$ u1 Y, P! F. ^}  H0 ~4 V& e+ O% O- N/ m7 m: b
  ~0 R. h5 H0 u* {
#################################################
2 P: e( ~% f& [1 T6 D( ~# Debug log message.% V! }6 X1 d) X6 _1 f
# 调试日志,黑色$ S; C( |' u& ]8 e  D" Y
#################################################7 R" F" f+ a9 C/ Z+ u5 Z7 Q0 N
function msg_debug() {
% `) K+ z5 k2 Q' Y  V5 U: `& P" \! `5 u    echo_log 30 "[Debug] ====> $*"
. c* o4 l0 f6 F# Q# `1 w}
6 w" x' t  K8 j: h
/ {/ v+ }6 o. R" h#################################################
4 C9 l$ w3 ~. v0 i9 [7 n& @$ a' O# Error log message.
" O& u4 ^0 c( R) d- ~7 F# 异常日志,红色4 ?) c0 U8 I- O
#################################################1 B/ U$ {' f: R
function msg_error() {, A2 f2 w* b3 g7 k
    echo_log 31 "[Error] ====> $*"
) q" q: D: I3 Z: C  m) B! j}3 o- Q3 E7 B9 e
. g. s6 V8 H7 S. ?
#################################################
' Y1 A  b3 \, v$ i: D# Success log message.8 t; y) l; f2 _+ A" @( O1 Z1 t
# 成功日志,绿色$ Y2 I$ f, J" _' [6 y0 V' V5 K
################################################## g( {- p0 V0 Z0 A
function msg_success() {
( p- Z. F# d" ^    echo_log 32 "[Success] ====> $*"
  u" Y3 g/ ]0 |" M- n8 U}
. K& \6 j& v6 K1 c7 f& M  @0 z: c3 ~% O5 L8 n/ f
#################################################
7 X5 t- u& d. i3 p/ O$ I( X# Warning log message.
& M1 c  U* }3 ]# i! W' P' R# 警告日志,黄色; R, r( Q% h' G7 Y: j- H; Y. @
#################################################
3 w) r  l9 \0 U1 A/ zfunction msg_warn() {
. }/ \5 e+ f# q" c1 l  @7 _3 G( O  F& x    echo_log 33 "[Warning] ====> $*"
) @5 ~( O+ t+ i0 H0 E! s9 d}
+ n/ }6 q/ O! X5 d5 s; d8 B$ f5 K3 Q4 F' K
#################################################0 g: E) g: A: W0 G
# Information log message.
; o3 f2 ~1 z) _& c- c# 一般消息日志,蓝色
: G. t) g' L% ]9 }1 h#################################################
- ^& u9 A" W' x  d+ @function msg_info() {% ~* p; l* n5 s  B
    echo_log 34 "[Info] ====> $*"
: c1 [/ y# C4 d, d5 @3 l}
 楼主| 发表于 2022-7-5 10:13:31 | 显示全部楼层
echo  字符颜色一般使用在bashrc文件中最好是放在/etc/profile文件中
' a: X( V4 q& l7 g' V$ ]+ f: W6 I* ~8 A9 F, n
 楼主| 发表于 2022-7-5 10:21:45 | 显示全部楼层
echo显示带颜色,需要使用参数-e
; J0 q( C2 e! t- J( z, C" s/ E" z. s( F- g" Y( U
格式如下:2 Z$ f+ E0 n; \2 p4 S! B* A

9 j0 M% R! G1 k5 ^echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"
0 T+ A# Y6 D3 X. @
5 p. s, _) }3 V- q! p- c  a例如:echo -e "\033[43;31mred color\033[0m"
$ U0 Z- @( _/ s* @" p( Z; C
" B! O, J: M2 h1 s" z& N* n1a80953faa8a96e2bca6f4de30a61123.png
( G! _5 F9 \# p! d' `; ^2 G" ~3 m3 o; U
例如:echo -e "\033[5m\n \033[32m *\n\033[33m ***\n\033[35m*****\n\033[0m"4 a) C- S8 m6 f4 R. ^

1 V# V7 q: V3 S8 m) r* S* K每一行不同的颜色,并且闪烁9 m- L/ W; o  h3 X: E  n) u6 u
5 X$ D$ G. f, Y) v
8d646061f2731673f0bfc5cb03c03162.png/ Z8 n/ N( r% _: p4 M4 J/ l% z/ z

) s/ J9 S/ U5 n2 V控制选项说明 :
4 i( r5 |+ n8 a! a5 O( G  p$ v. P4 l, K5 C& ~9 d4 d
\33[0m 关闭所有属性0 g# s6 X- S2 ~) d1 t$ }; k
! I2 S+ b) A5 U7 c* w" q
\33[1m 设置高亮度
; _- e: Q1 @2 D5 Q9 h' m' q/ i6 r' e% l. E1 @
\33[4m 下划线
1 \# ^$ r, U0 q+ _0 x; o$ P+ d' Z8 c1 G! \
\33[5m 闪烁2 i& C  C5 X1 c! z" O4 B, F) [

8 K! m& f' _& e/ y' O9 l2 A) L3 h* Y\33[7m 反显
7 |; t: L$ H5 n, l; U% Z+ J9 v% t$ D: }6 d% o
\33[8m 消隐" K+ R# V: P* {- x$ J/ S& ~/ e3 H3 O/ t

+ A8 J4 @# v' O8 A\33[30m -- \33[37m 设置前景色/ w: I# [6 _3 o
& A$ R( G, ?4 O3 m- p8 O" x
\33[40m -- \33[47m 设置背景色: G5 G6 |' n* g' C
  l. e( P1 k8 B  ^
\33[nA 光标上移n行
- J8 \9 }( k0 D- T# e6 ?& j. n7 z: o" E6 z( g+ j
\33[nB 光标下移n行3 R7 f9 }9 G8 ?6 c9 B. F! B. b' t

  F7 ~; o5 }3 r\33[nC 光标右移n行, D2 P( _$ a( M; T5 f) U: {

2 ]6 a1 n) Q: ]& w+ S& J- T\33[nD 光标左移n行( r# `% g6 p* h# }  D- b) q. S
5 \: Z$ ?9 J' l4 k, I
\33[y;xH设置光标位置
% X+ A) U; [$ m5 e8 U  I8 O6 A  t0 x% j
\33[2J 清屏/ S; }9 p0 c; }' S# B
' A: ~, t8 L' F. \
\33[K 清除从光标到行尾的内容4 ]3 I6 W1 E, J

# k9 N6 S. h- q/ Y1 |\33[s 保存光标位置
! h7 G' W8 _+ c$ t2 o4 r
+ R& c9 E8 Y3 b\33[u 恢复光标位置( J; N) A8 [& q0 }! L5 T

- r# ^6 k0 \1 c/ Z; s7 v3 G  e\33[?25l 隐藏光标
# ~: k& V  \+ g( n# }7 G8 e# L2 |5 q, j
\33[?25h 显示光标
 楼主| 发表于 2022-7-5 16:14:44 | 显示全部楼层
echo -e "\e[31m 欢迎来到Redhat Linux 操作系统\e[0m") K$ c) g( a- D3 B* F& K6 m
echo -e "\e[1;31m 请合理使用云主机分配内存,所有应用目录建议使用/data目录;\e[0m"
" Y8 i4 b; A+ D/ Aecho -e "\e[1;31m 系统后期维护,建议不要使用lvm方式扩容根(/)目录. \e[0m"
0 [8 c; U, j$ Hecho -e "\e[1;31m 系统未分配swap,请自行添加swap分区,百度即可,swap分区有利于节约内存开销;\e[0m"
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

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

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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