Сначала создайте простую функцию, использующую встроенную функцию bash SECONDS
. Обратите внимание, что мы инициализируем его нулем при каждом вызове.
_time() { SECONDS=0; out="$($@)"; echo "[${SECONDS}] ${out:-no output}"; }
Затем используйте эту функцию _time
для запуска вашей команды (s )из списка команд, может быть их файл или что-то еще.
while read cmd; do _time $cmd; done < <(echo -e "sleep 5\nsleep 2\nsleep 1")
Здесь у sleep нет вывода, но ваши команды, скорее всего, будут. Это просто для того, чтобы показать использование СЕКУНД в отношении этой проблемы. В этом примере будет выводиться вывод по умолчаниюno output
:
[5] no output
[2] no output
[1] no output