問題,一些命令輸出無法定向到文件
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經常會遇到一些命令執行了無法打印輸出到指定的文件可以考慮這麼做