
Мне бы хотелось иметь возможность отображать $SECONDS
часы, минуты и секунды в переменной окружения, чтобы мне нужно было использовать ее только $RUNTIME
в разных местах скрипта, а не использовать ее целиком каждый раз, когда я захочу ее использовать.
Я не знаю, какое форматирование использовать, чтобы можно было поместить его в переменную:
export RUNTIME="$(($SECONDS / 3600))hrs $((($SECONDS / 60) % 60))min $(($SECONDS % 60))sec"
Поэтому я могу просто:
echo "The script ran for: $RUNTIME"
Спасибо.
решение1
function
Определение RUNTIME как переменной не поможет, так как она выводит постоянное значение, всегда время выполнения, когда она была определена. Попробуйте вместо этого оболочку :
runtime() {
printf "%dhrs %dmin %dsec\n" $((SECONDS / 3600)) \
$(((SECONDS / 60) % 60)) \
$(($SECONDS % 60));
}
runtime
и вызвать/использовать его с помощью «подстановки команд».