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

2021-08-03 04:25:46 字數 1797 閱讀 5534

具體分析請看我以前寫的部落格:

c語言中的printf與shell中的printf

shell裡的printf,它代表的是一條指令,指令的執行時互動式bash fork子程序,子bash執行指令,當一條指令執行完也就意味著程序結束。

程序結束會重新整理緩衝區,所以這裡就算不用\n也是會輸出,這裡的printf是站在程序外部的角度去看的。

反觀c語言中的printf,它是站在程序內部去看的。所以c語言中的printf涉及全緩衝,行緩衝。

shell中printf的彩色方案

顏色是通過新增專用序列來選擇的 – 夾在 「\e[「和 「m」之間的數字。如果指定乙個以上的數字,則用分號將它們分開。

echo

-e"\e[31;42m"

第乙個數字(31)為前景顏色(紅色);第二個數字為(42)背景顏色(綠色)

echo

-e"\e[0m" 或 echo

-e"\033[0m"

使用」\e[0m」序列將顏色重新設定為正常值

顏色分類:

\e[30m – \e[37m設定前景色(字型顏色)echo -e 「\e[30m」 灰色

echo -e 「\e[31m」 紅色

echo -e 「\e[32m」 綠色

echo -e 「\e[33m」 黃色

echo -e 「\e[34m」 藍色

echo -e 「\e[35m」 紫色

echo -e 「\e[36m」 淡藍色

echo -e 「\e[37m」 白色

\e[40m – \e[47m設定背景色

echo -e 「\e[40m」 灰色

echo -e 「\e[41m」 紅色

echo -e 「\e[42m」 綠色

echo -e 「\e[43m」 黃色

echo -e 「\e[44m」 藍色

echo -e 「\e[45m」 紫色

echo -e 「\e[46m」 淡藍色

echo -e 「\e[47m」 白色

其他的一些引數

\033[0m 關閉所有屬性

\033[1m 設定高亮度

\03[4m 下劃線

\033[5m 閃爍

\033[7m 反顯

\033[8m 消隱

\033[30m – \033[37m 設定前景色

\033[40m – \033[47m 設定背景色

\033[na 游標上移n行

\03[nb 游標下移n行

\033[nc 游標右移n行

\033[nd 游標左移n行

\033[y;xh設定游標位置

\033[2j 清屏

\033[k 清除從游標到行尾的內容

\033[s 儲存游標位置

\033[u 恢復游標位置

\033[?25l 隱藏游標

\33[?25h 顯示游標

用shell寫守護程序指令碼

乙個udhcpd與udhcpc的守護,目前只會用shell模仿編寫,還有什麼方法可以做守護呢?bin sh 程序名字可修改 pro name udhcpc wlan ra0 while true do 用ps獲取 pro name程序數量 num ps aux grep grep v grep wc...

用shell寫乙個簡單DHCP配置指令碼

軒軒寫的這個小指令碼,主要是可以進行對dhcp服務的安裝 簡單配置 開啟 關閉 檢視狀態等情況 使用呢非常簡單,按照步驟進行準確的設定就可以啦 bin bash yum y install dhcp fun subnet fun 請輸入網路位址 netmask fun 請輸入子網掩碼 range1 ...

用shell寫乙個mysql資料備份指令碼

思路 其實很簡單 寫乙個shell指令碼通過mysql的mysqldump,將資料匯出成對應的sql檔案 使用linux的crontab定時執行對應指令碼,將sql,檔案儲存到對應的目錄下 可想而知,隨著資料量的增加和備份的頻率都會導致備份伺服器的硬碟資源使用率也會直線攀公升 為了解決這個問題,我們...