Почему вы хотите использовать старое ядро, когда уже доступны обновленные ядра? Я следовал инструкции для установки последнего ядра
Вы хотите поместить этот код в свой сценарий или сделать это из процесса, который запускает сценарий?
Для последнего вы можете использовать зарезервированное слово «время», а затем проанализируйте, что он возвращает, чтобы узнать, сколько времени занимает сценарий.
Если вы хотите сделать это из сценария, вы можете установить для переменной SECONDS нулевое значение, и каждый раз после этого, когда вы будете ссылаться на эту переменную, она будет обновляться, чтобы соответствовать количеству прошедших секунд. Итак, вы можете поставить «SECONDS = 0» в самом начале вашего скрипта, и всякий раз, когда вам понадобится прошедшее время, оно будет в переменной SECONDS.
Вы также можете использовать уловку $ SECONDS в командной строке. , например:
$ SECONDS=0; sleep 5 ; echo "that took approximately $SECONDS seconds"
Зарезервированное слово времени и переменная SECONDS задокументированы на странице руководства bash.
Используйте команду time. Обратите внимание, что версия времени для bash отличается от / usr / bin / time. У вас должно получиться что-то вроде:
TIME=`/usr/bin/time --format="%e" your_command_here >/dev/null`
Формат просто извлекает значение «реального» времени. Вам нужно будет преобразовать это из строки, если вы хотите сделать что-то большее, чем ее отображение.
Если вы просто хотите экспортировать строку, используйте экспорт
.
Это работает в Bash, а также в Zsh:
# Set time format to seconds
TIMEFORMAT=%R
# Time a process
PROC_TIME=$(time (insert command here >/dev/null 2>&1) 2>&1)
echo $PROC_TIME
Используя GNU time ,
\time -p -o time.log $COMMAND
, а затем прочтите time.log
.
(Используйте либо \ time
или время команды
, в противном случае вы будете использовать встроенное время
Bash, которое не поддерживает эти параметры.)
Это будет работать, даже если $ COMMAND
выводится в stderr (что может запутать ответ Оли) и сохраняет stdout / stderr (чего нет в ответе Фарзи).
-o ...
сообщает time
отправлять свои выходные данные в файл, а не в stderr (по умолчанию), а -p
генерирует традиционное
real 0.00
user 0.00
sys 0.00
, а не стандартное время GNU
0.00user 0.00system 0:00.01elapsed 8%CPU (0avgtext+0avgdata 0maxresident)k
80inputs+0outputs (1major+188minor)pagefaults 0swaps