我需要一次執行多個命令(比如一次 2000 個)并且非常快。
一種方法是在每個命令之間使用“&”執行它們,這非常快,但我將結果(json 格式)弄混了,這樣我就不能將輸出加載為 json。
我也嘗試使用“并行”。使用該命令,我可以在正確的 json 中獲取命令,但需要更長的時間。
有沒有辦法用“&”執行命令而不會把輸出弄混?
uj5u.com熱心網友回復:
我懷疑產生 2000 行程可能是一個好主意,并行會給你更多的控制,話雖如此,可以使用像這樣簡單的東西
N=2000
for ((n=0; n<N; n ))
do
mycommand $n > out-$n.txt &
done
wait
for ((n=0; n<N; n ))
do
cat out-$n.txt
done
uj5u.com熱心網友回復:
您可以使用jq命令向 JSON 添加訊息命令。
我不知道你如何呼叫你的命令。但是您可以向 JSON 添加其他物件。
command |jq '. {"key2": "value2"}'
示例代碼
command | jq '. {"commands": \"$(script execute)\"}'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/363374.html
下一篇:如何將陣列文字傳遞給bash函式
