shell指令碼實現乙個彩色的進度條

2021-08-03 07:17:54 字數 785 閱讀 7232

首先來了解一下如何設定終端的字元顏色:

終端的字元顏色由轉義序列(escape sequence)控制,是文字模式下的系統顯示功能,與具體語言無關。轉義序列以控制字元』esc』開頭。該字元的ascii碼十進位制表示為27,十六進製制表示為0x1b,八進位制表示為033。多數轉義序列超過兩個字元,故通常以』esc』和左括號』[『開頭。該起始序列稱為控制序列引導符(csi,control sequence intro),通由『\033[』或『\e[』代替。

通過轉義序列設定終端顯示屬性時,可採用以下格式:

\033[ param m 或 \e[ param m

其中,『\033[』或『\e[』引導轉義序列,『m』表示設定屬性並結束轉義序列。param為屬性值,表示可選(多個引數之間用分號隔開,與順序無關)。

———————————————————————————————————————————

\033[顯示方式;前景色;背景色m輸出字串\033[0m 或

\e[顯示方式;前景色;背景色m輸出字串\033[0m

#!/bin/bash

function bar()"

let i++

str+='#'

let idx++

let idx=idx%4

usleep 100000

done

printf

'\n'

}bar

Linux 用shell指令碼寫乙個彩色進度條

具體分析請看我以前寫的部落格 c語言中的printf與shell中的printf shell裡的printf,它代表的是一條指令,指令的執行時互動式bash fork子程序,子bash執行指令,當一條指令執行完也就意味著程序結束。程序結束會重新整理緩衝區,所以這裡就算不用 n也是會輸出,這裡的pri...

Shell指令碼實現的memcached程序監控

web伺服器使用memcached,但是不知道為什麼memcached老是掛掉 基本20分鐘 50分鐘左右 導致部分 頁面在訪問的時候出錯 定義日誌後,檢視日誌也未能發現什麼 初步判定由於之前更新libevent有關係。由於線上伺服器,所以先用指令碼來程式設計客棧彌補下 bin sh pid ps ...

乙個shell指令碼

之前學過shell指令碼,但是工作中一直沒有用到,今天由於要搞乙個定時任務,為了防止重複啟動php指令碼,就需要寫乙個shell,下面是指令碼內容 bin bash 宣告要使用哪個shell 下面是備註檔案 這可是乙個好習慣奧 date 2012 7 18 version 1.0 設定相關變數 fi...