ฉันกำลังพยายามกำหนดเวลาบางสิ่งที่ใช้:
/usr/bin/time myCommand
อย่างไรก็ตามเนื่องจาก/usr/bin/time
เขียนไปยัง stderr ถ้าmyCommandเขียนไปยัง stderr ด้วยฉันจะได้รับมากกว่าเวลาของสตรีม สิ่งที่ฉันต้องการจะทำคือเปลี่ยนเส้นทางเอาต์พุตทั้งหมดของ myCommand ไป/dev/null
แต่ยังคงเขียนเอาต์พุตของเวลาไปยัง stderr เมื่อใช้ตัวอย่างmyCommandที่เขียนไปยัง stderr ของls /nofile
เราจะเห็นว่า (เห็นได้ชัด) ว่าไม่มีเอาต์พุตเลยด้วยต่อไปนี้:
$ /usr/bin/time ls /nofile 2> /dev/null
$
โดยไม่มีการเปลี่ยนเส้นทางใด ๆ เราจะเห็นทั้งเอาต์พุตจากls
(ไปยัง stderr) และเอาต์พุตจากเวลา (เช่นไปยัง stderr):
$ /usr/bin/time ls /nofile
ls: cannot access /nofile: No such file or directory
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 3776maxresident)k
0inputs+0outputs (0major+278minor)pagefaults 0swaps
สิ่งที่ฉันต้องการคือสิ่งที่ผลิตง่ายๆ:
$ /usr/bin/time ls /nofile > RedirectThatImAskingFor
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 3776maxresident)k
0inputs+0outputs (0major+278minor)pagefaults 0swaps
ความคิดใด ๆ