亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何向shell腳本添加進度條?

如何向shell腳本添加進度條?

長風秋雁 2019-07-04 10:19:09
如何向shell腳本添加進度條?當在*nix中使用bash或任何其他shell編寫腳本時,當運行一個需要超過幾秒鐘的命令時,需要一個進度條。例如,復制一個大文件,打開一個大tar文件。您建議以何種方式向shell腳本添加進度條?
查看完整描述

3 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

您可以通過覆蓋一行來實現這一點。使用\r回到行的開頭而不寫\n去終點站。

\n當你完成了推進這條線的任務。

使用echo -ne致:

  1. 非印刷

    \n

  2. 來識別轉義序列,比如

    \r.

下面是一個演示:

echo -ne '#####                     (33%)\r'

sleep 1

echo -ne '#############             (66%)\r'

sleep 1

echo -ne '#######################   (100%)\r'

echo -ne '\n'

在下面的評論中,PUK提到了這個“失敗”,如果您以一條長行開始,然后想寫一條短行:在本例中,您需要覆蓋長行的長度(例如,用空格)。


查看完整回答
反對 回復 2019-07-04
?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

一些帖子展示了如何顯示命令的進度。為了計算它,你需要看看你取得了多大的進步。在BSD系統上,一些命令,例如dd(1),接受SIGINFO信號,并將報告他們的進展。在linux系統上,一些命令將以類似的方式響應。SIGUSR1..如果該工具可用,則可以通過管道輸入。dd若要監視處理的字節數,請執行以下操作。

或者,您可以使用lsof以獲取文件讀取指針的偏移量,從而計算進度。我寫了一個命令pMonitor,它顯示處理指定進程或文件的進度。有了它,您可以做一些事情,如以下所示。

$ pmonitor -c gzip/home/dds/data/mysql-2015-04-01.sql.gz 58.06%

Linux和FreeBSD shell腳本的早期版本出現在我的博客.


查看完整回答
反對 回復 2019-07-04
  • 3 回答
  • 0 關注
  • 1945 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號