Command-Line只有在
只有在 time
之後的命令成功時才顯示 time
的輸出
我希望
time
僅當已傳遞給的命令成功時才顯示命令的輸出time
。像這樣的東西:( time wget -pq --delete-after https://www.example.com ) 2>&1 || echo fail
問題是,如果
wget
失敗,我仍然會收到輸出time
(這是合乎邏輯的,因為它測量了命令失敗所需的時間)。我的目標是將輸出保存到一個變數中,0m0.100s
或者fail
在我的變數中。有誰知道我如何以體面的方式做到這一點?
你可以這樣做:
$ if var=$( { time true; } 2>&1 ); then echo "$var"; else echo fail; fi real 0m0.000s user 0m0.000s sys 0m0.000s
$ if var=$( { time false; } 2>&1 ); then echo "$var"; else echo fail; fi fail