Как я могу отслеживать время из командной строки?

Я ищу команду для отслеживания времени.

Представляю следующий рабочий процесс:

Запустите команду ... сделайте что-нибудь еще ... Вернитесь к терминалу окно и остановка команды. В качестве выхода вы получаете время, прошедшее между 3 и 1
1
задан 8 November 2016 в 23:18

2 ответа

Как насчет:

stopwatch() { 
    local start=$SECONDS
    read -p "Hit Enter..."
    echo $((SECONDS-start)) seconds elapsed
}

В действии:

$ stopwatch 
Hit Enter...
14 seconds elapsed
6
ответ дан 23 May 2018 в 04:24

Простой способ сделать это - взять время начала, и как только вы остановите скрипт - возьмите время остановки. Наконец, распечатайте разницу во времени. Это можно легко сделать с помощью Python:

python -c $'import time;start=time.time();\ntry:\n\twhile True: time.sleep(0.25)\nexcept: print(time.time()-start)'

Или длинная версия для чтения:

import time
start=time.time();
try:
    while True: time.sleep(0.25)
except: 
    print(time.time()-start)

Остановка выполняется с помощью Ctrl + C

3
ответ дан 23 May 2018 в 04:24
  • 1
    while True: pass запускает CPU на 100%. Вместо этого я предлагаю while True: time.sleep(1e9) (signal.pause() работает, но требует дополнительного импорта). – 2012rcampion 9 November 2016 в 16:49
  • 2
    @ 2012rcampion хорошая точка, отредактировал это уже. – Sergiy Kolodyazhnyy 9 November 2016 в 17:04
  • 3
    Обычно считается неправильной практикой, чтобы поймать все исключения (хотя в этом случае это, вероятно, не слишком актуально), except KeyboardInterrupt будет лучше – Tobias Kienzler 9 November 2016 в 18:22
  • 4
    @TobiasKienzler. Я знаю об этом. Если это большой проект, я разделяю вещи, чтобы поймать несколько исключений. Не стесняйтесь смотреть на мой другой код, индикаторы и т. Д. Но в этом случае есть только один, так что это не совсем актуально. Кроме того, это быстрый и грязный способ. Почему нит гольф это немного? – Sergiy Kolodyazhnyy 9 November 2016 в 18:37
  • 5
    Я полностью согласен, просто подумал, что стоит упомянуть;) – Tobias Kienzler 10 November 2016 в 00:42

Другие вопросы по тегам:

Похожие вопросы: