Понадобилось померить объём занимаемой памяти и время выполнения последовательности команд, передающих данные через stdout/stdin. Для определённости:
tar -c Dump/ | lzop > dump.tar.lzopВстроенная в bash команда time меряет только время. /usr/bin/time -v даёт необходимую информацию, но не воспринимает командную строку за | и >.
По команде
/usr/bin/time -v tar -c Dump/ | lzop > dump.tar.lzopС
/usr/bin/time -v $( tar -c Dump/ | lzop > dump.tar.lzop)После
/usr/bin/time -v { tar -c Dump/ | lzop > dump.tar.lzop}Поправка: надо было писать не $(...) и {...}, а (...) и {...;}, но time с ними всё равно не работает.
Как применить time к последовательности команд, передающих данные через пайпы? Только писать time отдельно для tar и для lzop?
Заранее спасибо.
Ответ:
/usr/bin/time -v bash -c 'tar -c Dump/ | lzop > dump.tar.lzop' А для подстановки переменной лучше всего оказалось ставить
/usr/bin/time -v bash -c 'tar -c '"$somepath"' | lzop > dump.tar.lzop' 




