Предполагая, что я хочу отслеживать время, которое я трачу, редактируя набор файлов и записывая их в файл, как я мог бы сделать из командной строки с помощью команды time:
time vim test.txt
I get
real 0m8.149s
user 0m0.056s
sys 0m0.008s
Хорошо. Теперь, если я хочу добавить свой вывод в файл журнала,
time vim test.txt >> my.log
Ну, конечно, я бы сделал это более подробно, чтобы дать мне больше информации, но я не прошел мимо первого шаг, терминал просто зависает со следующим предупреждением:
Vim: Warning: Output is not to a terminal
Перенаправление мешает vim, нуждающемуся в терминале.
Редактирование: одно решение может быть следующим:
time gnome-terminal -x vim test.txt >> my.log
Что открывает новое окно терминала, в котором выполняется vim. Я бы предпочел остаться в том же окне, но мог бы также жить с этим обходным путем.
Edit: Не совсем работало, казалось, что это было в каком-то тесте, в другом, не измеряя используемое время. В моем скрипте я сделал что-то вроде этого:
/usr/bin/time -o tmpfile vim test.txt
echo some stuff `cat tmpfile` some more stuff >>my.log
rm tmpfile
Кажется, работает.
Редактировать: он работает только до тех пор, пока у вас нет двух процессов с использованием того же tmpfile. Чтобы избежать этого, можно использовать pid исполняемого скрипта как часть временного имени файла:
/usr/bin/time -o $$.tmp vim test.txt
echo some stuff `cat $$.tmp` some more stuff >>my.log
rm $$.tmp
Какой time вы используете? Баш встроен или один в /usr/bin/time? Если вы используете /usr/bin/time (и читаете man time), вы обнаружите, что можете записывать вывод в файл, форматировать вывод любым способом, как вам нравится. Встроенный Bash time гораздо менее способен.
Какой time вы используете? Баш встроен или один в /usr/bin/time? Если вы используете /usr/bin/time (и читаете man time), вы обнаружите, что можете записывать вывод в файл, форматировать вывод любым способом, как вам нравится. Встроенный Bash time гораздо менее способен.
Какой time вы используете? Баш встроен или один в /usr/bin/time? Если вы используете /usr/bin/time (и читаете man time), вы обнаружите, что можете записывать вывод в файл, форматировать вывод любым способом, как вам нравится. Встроенный Bash time гораздо менее способен.