Причина, по которой перенаправление не работает с time
, заключается в том, что это зарезервированное слово bash (а не встроенное!) при использовании перед конвейером. bash (1):
Если зарезервированное слово времени предшествует конвейеру, то истекшее, а также время пользователя и системы, затраченное на его выполнение, сообщаются, когда конвейер завершается.
blockquote>Итак, для перенаправления вывода из
time
либо используйте фигурные скобки:{ time ls; } 2> filename
Или вызов
/usr/bin/time
:/usr/bin/time ls 2> filename