Принятие я хочу отследить времена, я трачу редактирование ряд файлов, и регистрируют их в файл, как я мог сделать от командной строки с помощью time
команда:
time vim test.txt
Я добираюсь
real 0m8.149s
user 0m0.056s
sys 0m0.008s
Отлично. Теперь, если я хочу добавить его вывод к файлу журнала,
time vim test.txt >> my.log
Ну, конечно, я сделал бы это более тщательно продуманным в конечном счете, чтобы дать мне больше информации, но я не заканчиваю первый шаг, терминал просто зависает с соблюдающим предупреждением:
Vim: Warning: Output is not to a terminal
Перенаправление вмешивается в энергию, нуждающуюся в терминале. Каково было бы хорошее обходное решение здесь?
Править: Одно обходное решение могло быть следующим:
time gnome-terminal -x vim test.txt >> my.log
Который открывает новое окно терминала, в котором выполняется энергия. Я предпочел бы оставаться в том же окне, но мог также жить с этим обходным решением.
Править: Не вполне работал также, это, казалось, сделало в некотором тесте, в некотором другом это фон, таким образом не измеряя используемое время. В моем сценарии теперь я сделал что-то как этот:
/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
Вы используете? Встроенный Bash или тот в /usr/bin/time
? Если Вы используете /usr/bin/time
(и читать man time
) Вы найдете, что можно зарегистрировать вывод в файл, отформатировать вывод любым путем, Вам нравится.... Встроенный Bash time
намного менее способно.