time 命令重定向問題

問題,一些命令輸出無法定向到文件


root@cloud01:~# time > a.txt

real    0m0.000s
user    0m0.000s

sys     0m0.000s

執行後沒有將輸出打印到a.txt文件  time是shell關鍵字,將time 後面一整行作爲命令執行了,

root@cloud01:~# time ls > a.txt

real    0m0.002s
user    0m0.000s
sys     0m0.000s

將ls命令輸出定向到a.txt了,time的輸出依然打印出來了

root@cloud01:~# { time ls >b.txt; } 2>a.txt
root@cloud01:~# cat a.txt

real    0m0.002s
user    0m0.000s
sys     0m0.000s

發現time執行的輸出定向到a.txt了,ls的輸出定向到b.txt了 大括號代表了另起了一個shell,應該比較佔資源


root@cloud01:~# (time ls >b.txt) 2>a.txt
root@cloud01:~# cat a.txt

real    0m0.002s
user    0m0.000s
sys     0m0.000s

用括號將命令分隔,同樣定向了命令的輸出,我們的shell經常會遇到一些命令執行了無法打印輸出到指定的文件可以考慮這麼做




發佈了41 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章