2015-10-15 2 views
0

Мне еще предстоит понять, как работают переменные в unix. Im пытается напечатать текущий час и кратные его на 60 (если сейчас 1 AM было бы напечатать 60)

мой код выглядит следующим образом

date +"$((%H*2))", но это просто делаешь бросить результат 60, но только ((1 * 60)) как я могу достичь результата 60? Также в чем смысл $ в оболочке?

ответ

3

Для ясности, я хотел бы сделать это в два этапа:

cur_hour=$(date +"%H") 
result=$((cur_hour * 60)) 

$(...) для command substitution.
$((...)) предназначенный для arithmetic expressions.


Вы можете сделать это на одном дыхании, но это может быть труднее понять, на первый взгляд:

result=$(($(date +"%H") * 60)) 
Смежные вопросы