Могу ли я поместить $SECONDS в переменную окружения в сценарии bash?

По крайней мере, в системах на основе Debian вы сможете это сделать:

  1. выясните, какой должна быть буква диска... Я собираюсь указать здесь /dev/sdb для примера.
  2. Дважды извлеките букву диска «будет», чтобы эффективно снова включить устройство.
  3. Прибыль!

Это работает, потому что... магия.

# determine 'would be drive letter'
lsblk
# do magic
eject /dev/sdb; sleep 1; eject -t /dev/sdb
0
17.04.2020, 14:27
1 ответ

Определение RUNTIME как переменной не помогло бы, так как оно всегда выводит постоянное значение, время выполнения, когда оно было определено. Попробуйте оболочку functionвместо:

runtime() { 
   printf "%dhrs %dmin %dsec\n" $((SECONDS / 3600)) \
                                $(((SECONDS / 60) % 60)) \
                                $(($SECONDS % 60)); 
}
runtime

и вызовите его/используйте с «подстановкой команды».

2
19.03.2021, 02:28

Теги

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