Background-Process
對話框 - 在後台繼續
我安裝了這個程序:
http://invisible-island.net/dialog/dialog.html
現在我想使用這個對話框:
http://invisible-island.net/dialog/dialog-figures.html#demo_gauge
dialog --gauge 'Checking permissions' 20 60
它工作正常,但問題是 bash 腳本在此對話框關閉 (CTRL + C) 之前不會繼續。
但我希望我的 shell 腳本繼續執行,並通過對話框顯示狀態。
這可能嗎?
編輯#1
status="Initializing" (echo 1 sleep 1 status="Loading" echo 30 sleep 1 echo 90 sleep 1 echo 100 ) | dialog --gauge $status 10 40
您需要通過標準輸入將百分比輸入到儀表中。試試這個看看它是如何工作的:
for i in $(seq 1 100); do echo $i; sleep 0.1; done | \ dialog --gauge "Example" 10 50
因此,在您的情況下,只需在子外殼中完成您的工作,不時輸出一個百分比數字,然後將其通過管道傳輸到
dialog
. 像這樣的東西:(echo 1 sleep 1 echo 30 sleep 1 echo 90 sleep 1 echo 100 ) | dialog --gauge "Working hard..." 10 40
(其中 each
sleep 1
代表一些真實的工作,當然……)。**編輯:**更改文本
要更改文本,您輸出
XXX
一個數字,然後是新文本,然後XXX
再輸出。例子:(echo 30 sleep 1 echo XXX; echo 60; echo "New text"; echo XXX sleep 1 echo 100 ) | dialog --gauge "Working hard..." 10 40
您需要閱讀
dialog
手冊頁;一切都在那裡解釋。