Почему наклон Вы используете fedup или предварительно обновляете сопровождаемый обновлением? Это методы стандартного обновления.
Обновление Fedora = fedup.
Если я понимаю, о чем вы просите, то это подойдет. Я использую команды ls ~
и tee
в качестве запасных для . /foo
и bar
, но общая форма того, что вы хотите, такова:
$ ( time ./foo ) |& bar
NOTE: Вывод time
уже присоединяется в конце любого вывода из ./foo
, он просто делается это на STDERR. Чтобы перенаправить его через трубу, вам нужно объединить STDERR с STDOUT. Для этого можно использовать либо |&
, либо 2>&1
.
$ ( time ./foo ) |& bar
-or-
$ ( time ./foo ) 2>&1 | bar
$ ( time ls . ) |& tee cmd.log
cmd.log
file1
file2
file3
file4
file5
real 0m0.005s
user 0m0.000s
sys 0m0.001s
А вот содержимое файла cmd.log
, созданного командой tee
.
$ more cmd.log
cmd.log
file1
file2
file3
file4
file5
real 0m0.005s
user 0m0.000s
sys 0m0.001s
time
по умолчанию отправляет вывод на stderr вместо stdout. Вам просто нужно перенаправить его туда, куда вы хотите.
Вы говорите "С другой стороны, если бы я хотел time
foo, и перенаправить вывод time
, я мог бы написать, time (./foo) | bar
." но это неверно. В этом случае вывод time все равно будет отображаться на консоли, только stdout будет перенаправлен.
Вы можете перенаправить stderr специально с помощью:
(time foo) 2>&1 | bar
или все трубы с помощью:
(time foo) |& bar
Скобки необходимы, чтобы это работало правильно.