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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-7-5 10:06:14 | 显示全部楼层 |阅读模式
echo -e "\033[31m红字\033[32m绿字\033[0m"
5 e- K0 q2 ^( m. U. R( u9 ^4 {) ]0 k  U7 I" [: u# b7 @

. _8 k9 k4 d2 M7 W6 k" Y2 n* j5 H echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"# 其中: "\033" 引导非常规字符序列。”m”意味着设置属性然后结束非常规字符序列。echo -e "\033[41;32m红色背景绿色文字\033[0m"# 其中: 41的位置代表底色, 32的位置是代表字的颜色。" g) [/ t8 c$ Y; G$ D+ g" S3 V. n
% V# q( n! S) h" ?

7 u5 I4 ~, d4 d1 H! G3 p7 ?$ echo -e "\033[32m绿色文字\033[0m"" m5 t2 G/ N3 z9 w) }' w
; ^3 g5 S# w3 f7 }: P
echo -e "\033[31m红字\033[32m绿字\033[0m" # 输出红字和绿字echo -e "\033[31m红字\033[43;32m绿字带黄色背景\033[0m" # 输出红字和带黄色背景的绿字
! i1 I/ U/ t* P字背景颜色范围40–47
  • 40:黑
  • 41:红
  • 42:绿
  • 43:黄色
  • 44:蓝色
  • 45:紫色
  • 46:天蓝
  • 47:白色: _  W: ^1 k2 ^) n* L
[size=0.85em]#字颜色30–37
  • 30:黑
  • 31:红
  • 32:绿
  • 33:黄
  • 34:蓝色
  • 35:紫色
  • 36:天蓝
  • 37:白色
    + i2 l, }7 }# y& j1 o
[size=0.85em]#ANSI控制码的说明
  • \33[0m 关闭所有属性
  • \33[1m 设置高亮度
  • \33[4m 下划线
  • \33[5m 闪烁
  • \33[7m 反显
  • 0 Q2 W% P9 [  j/ K& u4 t% B# A8 y

& x+ t5 a9 g$ W' N  Z) y; f9 G" S9 u- B3 K
! W2 [; t- A3 }$ c% }
日志颜色控制 当我们编写Shell脚本时,需要将日志信息保存起来,我们也可以使用echo命令输出带颜色的字体,方便查看日志信息。  如,我们将以下代码加入到~/.bashrc文件中,并重新加载,使其生效。- g, w+ Y0 r( |$ X$ C
) T+ \; p$ y8 R4 a7 `$ H
################################################## 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] ====> $*"}
0 |: K) X& i4 h2 f; E) V
然后,在命令行就可以打印不同样式的消息了。[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
( D5 l7 r; U$ y$ c; ?5 T, p+ z6 p% |! B1 n7 n

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:13:04 | 显示全部楼层
#################################################: ^+ ~  R9 h, @! Z, M
# Get now date string.# `; F( b. n$ i5 D: T0 k: I
# 当前日期字符串
/ U" `2 V" c& f: F  f5 b  Y#################################################
! H& w; O- i5 x1 |function now_date() {
& E  H6 d( C% }; j' E7 u    format=$1
7 f# v4 o/ w! t( P! z; o1 R    if [[ "${format}" ]]; then9 G# f  b$ x; q% `3 a
        now=$(date +"${format}")
# f- O4 H/ C5 ]* {5 m. u9 H' E, u; g    else) u" [6 N4 E' Y2 F6 W
        now=$(date +"%Y%m%d_%H%M%S"); Q& W7 {2 w4 S+ d2 r+ G! ^3 u2 V
    fi
' O# j8 W* a, r& B
" {9 C/ l, b8 Z! n( a    echo "${now}"
, L) \- F5 b& ^6 U# r}3 D% p4 W' Y7 {2 _/ D6 i

7 _1 ]6 g; x% |#################################################2 p1 U6 M& F5 Z, E* K+ S
# Basic log function.( w0 H+ X; k$ {% Z3 Y8 G
# 基本日志,输出时间戳
8 _5 Y% s1 H4 k1 Z/ c' j6 S# ex: [2021/08/15 19:16:10]% p1 p% h7 y- e4 N; q1 t
#################################################
$ n: ^$ c% ]/ ~# G: P: p# |function echo_log() {7 F, O* M3 \; m; I, C3 o! R; M0 j
    now=$(date +"[%Y/%m/%d %H:%M:%S]")
6 ^8 r) X2 z2 v& S7 t) c    echo -e "\033[1;$1m${now}$2\033[0m"3 F+ X  I' W/ A' t* B8 \& m6 e
}' {8 ^2 U6 f: ]( a; H0 a: h4 a

, B8 E9 {% ]3 \9 s1 Z7 D#################################################
2 h5 Q* [4 L  W6 }' L2 F) P: v+ y# Debug log message.9 k( H9 a% P1 P4 ~' h$ b( b: L, _
# 调试日志,黑色7 T# l& F/ R% c/ w7 {( \
#################################################
0 D9 W/ W/ |  s& N1 Afunction msg_debug() {2 `: ~% i, r+ K/ F5 f2 e
    echo_log 30 "[Debug] ====> $*"( i8 @' w. n. W7 I; l
}; H3 f& n9 Z# P  d
, `" ~  v5 o$ L2 z3 P" H+ E2 {
#################################################
7 Z/ b* I. @! B/ j7 U+ y) c# Error log message.- y) V$ G7 M+ N7 ?0 h. |+ ^
# 异常日志,红色& R! Q1 {0 t1 q
#################################################, M7 T' Q! e0 ]2 R: W$ f
function msg_error() {
1 J1 H( R" G% C$ e! K# d    echo_log 31 "[Error] ====> $*"+ s, m6 y+ b; R8 P: ^7 o
}+ t5 B5 b* r' Q. A7 O( i% q! W% v
7 ?! C+ I% G3 `
#################################################$ Z  L$ o7 u) t* N7 X
# Success log message.
8 B5 g. B/ G5 l7 o7 X% B# 成功日志,绿色7 R2 @  M+ i+ w$ l
#################################################. e2 O( B* W" e, H( S6 p" {
function msg_success() {$ o% c/ U8 Q: m1 I, H
    echo_log 32 "[Success] ====> $*"( r2 a) w: c* j: ~' T
}% p' Q- Z& U* {

# M! V- _7 ]4 d4 L, X#################################################7 q: R) g& J$ e6 ~* ]0 I6 T
# Warning log message.. \) |& ^* V1 H, K" D
# 警告日志,黄色9 m  v7 v5 p* B3 z4 J4 f
#################################################
5 [! n8 X( x  [  O' e( jfunction msg_warn() {
5 {; O. t8 o. K7 {    echo_log 33 "[Warning] ====> $*"
% P8 n7 p' H$ B" r/ v2 H, S5 P}; w  T# h( \+ W2 A

" W0 U$ o5 t& n#################################################4 r' w$ c% ^9 R: P# {, p8 B/ Z" I
# Information log message.- H# r* j  s( [
# 一般消息日志,蓝色
8 u. j$ M: U2 S#################################################% Y0 ]( e9 S) |$ E: T
function msg_info() {: Y( P7 Y- i4 ~
    echo_log 34 "[Info] ====> $*"
% F6 H# z4 A) L8 {}

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:13:31 | 显示全部楼层
echo  字符颜色一般使用在bashrc文件中最好是放在/etc/profile文件中7 i3 h* _- g! n7 F. A

) i8 u6 j6 m- R4 h

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 10:21:45 | 显示全部楼层
echo显示带颜色,需要使用参数-e
2 ]# Y& j! @! k( y
0 p* m1 u' U" F- B2 I6 e, i) z3 ~, T格式如下:
4 S& `3 H# a! W( O! `' o
: {/ j9 c; [. Z- wecho -e "\033[字背景颜色;文字颜色m字符串\033[0m"3 h' \' x, O) @' Q: G8 J$ w

; W* U2 f8 L( D$ _4 h例如:echo -e "\033[43;31mred color\033[0m"
2 q) y+ U2 T9 O' N" e  z* p1 \. U2 X" X& v  W6 F" A2 p" D$ \4 j
1a80953faa8a96e2bca6f4de30a61123.png2 y( L  q9 ?8 K" s8 O+ L

. R+ b8 h3 U" V3 `1 x7 ]例如:echo -e "\033[5m\n \033[32m *\n\033[33m ***\n\033[35m*****\n\033[0m"0 \5 w7 n6 r+ O$ m
5 p, {' \  r/ h
每一行不同的颜色,并且闪烁
& A: t% K  H+ O) Q9 `3 W/ e1 r+ F  D6 e9 o
8d646061f2731673f0bfc5cb03c03162.png! \7 \  a$ j- N8 M" ^

( m. u+ P- P3 K5 @7 s6 P1 k控制选项说明 :
! {7 p% V* I# K) C$ R2 e( i
2 _. n" N5 _& V5 p- j3 ~" n\33[0m 关闭所有属性
$ ]. F; j' x) Z, ?* g# W& `9 ~2 s; F
4 w: F3 c" T& j$ @/ K- N\33[1m 设置高亮度
* [9 E& t4 J. C( j
. H0 M; e% Y" p, S' m! t\33[4m 下划线" ~9 G' k$ w* U4 B4 b3 Q
& b8 o0 s* c6 o3 |
\33[5m 闪烁  q3 E. a5 s+ F: l: B9 Y

+ E0 S0 K9 C  g# {) Z- Z\33[7m 反显
% ^5 l4 v; B1 c1 H
+ ~) Z  o  c7 J! q\33[8m 消隐" r6 U' U; }. x( Y5 {

  O8 Y' j( k8 D2 I8 B7 J8 |\33[30m -- \33[37m 设置前景色7 l3 Y* ?; u7 ~0 T
: H" x) S( [( O
\33[40m -- \33[47m 设置背景色
4 _2 c3 D  b2 ?$ O
3 m5 E3 r) O" \+ ^2 A0 O7 b\33[nA 光标上移n行
+ ^& F0 P/ C# ?$ M! {: j% V7 q. J7 [/ s) E
\33[nB 光标下移n行
6 p0 ?/ S3 |) a# f# i2 e' e1 Y# x6 E& |" p  [6 S+ P
\33[nC 光标右移n行7 `# A3 D6 M- q: D3 T$ D" v/ W( g
; s; G4 m! N9 }* r8 n/ ?
\33[nD 光标左移n行" J, U9 ^* L0 l1 M* v% t0 i

* k8 a* M# r: z2 I$ W+ p\33[y;xH设置光标位置
" d, N) A1 ?9 \  S* }8 A: ?6 m& m; m, s; y" {6 y  S& G) H
\33[2J 清屏
& Q+ d9 z3 J! W4 M+ \9 z) b! N/ i- k2 s! z+ v/ K9 S& }6 v1 \
\33[K 清除从光标到行尾的内容
# l' ~2 g& B: p" ?$ K/ P, d
; M7 H) s6 ^. M- }\33[s 保存光标位置
/ z7 ^6 o+ D5 ~' |/ V5 J; R: Q9 h: l) C" t7 }
\33[u 恢复光标位置
0 `9 P' o; G) i  k# _# c- f# ?
# q3 `- J& |: w\33[?25l 隐藏光标
4 y8 R$ r  e3 B$ v. V4 F
& s* z# N; h1 O% F- U\33[?25h 显示光标

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-5 16:14:44 | 显示全部楼层
echo -e "\e[31m 欢迎来到Redhat Linux 操作系统\e[0m": F. J  Z" H/ R2 H  w8 `8 m% M& P
echo -e "\e[1;31m 请合理使用云主机分配内存,所有应用目录建议使用/data目录;\e[0m"
7 I/ u8 J) U" R# F0 A6 Eecho -e "\e[1;31m 系统后期维护,建议不要使用lvm方式扩容根(/)目录. \e[0m"
# d+ K0 W+ I, R7 m9 ^echo -e "\e[1;31m 系统未分配swap,请自行添加swap分区,百度即可,swap分区有利于节约内存开销;\e[0m"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 02:00 , Processed in 0.019682 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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