我正在使用 CLI,其中一些命令可能需要幾分鐘。運行后,它每 10 秒回顯一次“進行中”,直到完成。示例命令:
cli run:command --json
示例輸出:
in progress
in progress
in progress
{"status":"0", "result":"very good"}
我需要將輸出 json 分配給變數。我這樣做:
var=$(cli run:command --json)
我的輸出很好,它只包含 json,沒有“進行中”的行。但是當我等待命令完成時,我不會每 10 秒看到一次“進行中”狀態。
如何將輸出分配給變數,但在等待時仍會看到“進行中”狀態?
uj5u.com熱心網友回復:
這是一種方法:啟動一個無限回圈以在后臺列印“進行中” ,當“重要”命令完成時,終止后臺行程:
(while true; do echo in progress; sleep 1; done) &
bgpid=$!
var=$(sleep 10; echo done) # this is your long-running command
kill $bgpid
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/462387.html
