shell腳本實(shí)現(xiàn)多彩進(jìn)度條
先貼代碼
#!/bin/bash i=0; str="" arr=("|" "/" "-" "\\") while [ $i -le 100 ] do let index=i%4 let indexcolor=i%8 let color=30+indexcolor printf "\e[0;$color;1m[%-100s][%d%%]%c\r" "$str" "$i" "${arr[$index]}" sleep 0.1 let i++ str+='=' done printf "\n"
沒錯(cuò)代碼就這么簡(jiǎn)單 其實(shí)前面的都差不多就是下面的輸出時(shí)顏色控制線面我們就介紹一下顏色控制的原理
終端的字符顏色由轉(zhuǎn)義序列(Escape Sequence)控制,是文本模式下的系統(tǒng)顯示功能,與具體語(yǔ)言無關(guān)。轉(zhuǎn)義序列以控制字符'ESC'開頭。該字符的ASCII碼十進(jìn)制表示為27,十六進(jìn)制表示為0x1B,八進(jìn)制表示為033。多數(shù)轉(zhuǎn)義序列超過兩個(gè)字符,故通常以'ESC'和左括號(hào)'[‘開頭。該起始序列稱為控制序列引導(dǎo)符(CSI,Control Sequence Intro),通由‘\033['或‘\e['代替。
通過轉(zhuǎn)義序列設(shè)置終端顯示屬性時(shí),可采用以下格式:
\033[ Param {;Param;…}m 或 \e[ Param {;Param;…}m
其中,‘\033['或‘\e['引導(dǎo)轉(zhuǎn)義序列,‘m'表示設(shè)置屬性并結(jié)束轉(zhuǎn)義序列。Param為屬性值,{…}表示可選(多個(gè)參數(shù)之間用分號(hào)隔開,與順序無關(guān))。 轉(zhuǎn)義序列相關(guān)的常用參數(shù)如下(通過man console_codes命令可查看更多的參數(shù)描述):
顯示: 0(默認(rèn))、1(粗體/高亮)、22(非粗體)、4(單條下劃線)、24(無下劃線)、5(閃爍)、25(無閃爍)、7(反顯、翻轉(zhuǎn)前景色和背景色)、27(無反顯)
顏色: 0(黑)、1(紅)、2(綠)、 3(黃)、4(藍(lán))、5(洋紅)、6(青)、7(白)
前景色為30+顏色值,如31表示前景色為紅色;背景色為40+顏色值,如41表示背景色為紅色。
設(shè)置格式:
\033[顯示方式;前景色;背景色m輸出字符串\033[0m 或
\e[顯示方式;前景色;背景色m輸出字符串\033[0m
部分內(nèi)容來自網(wǎng)絡(luò),代碼來由自己編寫,有問題請(qǐng)?jiān)u論
以上所述是小編給大家介紹的shell腳本實(shí)現(xiàn)多彩進(jìn)度條,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Cygwin下安裝vim后,vim中退格鍵無法正常使用的解決方法
下面小編就為大家?guī)硪黄狢ygwin下安裝vim后,vim中退格鍵無法正常使用的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02每天學(xué)一個(gè) Linux 命令之more命令
more命令,功能類似 cat ,more會(huì)以一頁(yè)一頁(yè)的顯示方便使用者逐頁(yè)閱讀,而最基本的指令就是按空白鍵(space)就往下一頁(yè)顯示,按 b 鍵就會(huì)往回(back)一頁(yè)顯示,而且還有搜尋字串的功能2016-12-12利用shell刪除數(shù)據(jù)表中指定信息和字段對(duì)應(yīng)的文件
這篇文章主要介紹了利用shell刪除數(shù)據(jù)表中指定信息和字段對(duì)應(yīng)的文件,需要的朋友可以參考下2014-04-04Linux中根據(jù)一個(gè)單詞快速鎖定到日志的操作命令
這篇文章給大家介紹了Linux中如何根據(jù)一個(gè)單詞快速鎖定到日志,文中通過代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01shell腳本實(shí)現(xiàn)字符串的動(dòng)態(tài)替換方法
這篇文章主要介紹了shell腳本實(shí)現(xiàn)字符串的動(dòng)態(tài)替換,在shell腳本中全部替換的方式為${var//old/new},本文通過實(shí)現(xiàn)腳本給大家詳細(xì)講解,需要的朋友可以參考下2022-10-10linux 驅(qū)動(dòng)之Kconfig文件和Makefile文件實(shí)例
這篇文章主要介紹了linux 驅(qū)動(dòng)之Kconfig文件和Makefile文件實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-01-01