Вырезать строку до определенного символа [закрыто]

Попробуйте:

eval "`date +'@ s = (86400 - %S) - 60 * (%M + 60 * %H)'`"; echo $s

Однако обратите внимание, что в часовых поясах с зимним и летним временем он не даст правильного результата, если будет вызван в день перехода с / на летнее время, до перехода (что обычно бывает очень рано утром).

Помните, что в csh арифметические операторы правоассоциативны , причем * / имеют приоритет над + - , как в

@ s = 1 - 2 + 3 - 4

это

@ s = 1 - (2 + (3 - 4))

А не:

@ s = (((1 - 2) + 3) - 4)

как в других языках. Это было исправлено в tcsh (6.15.01), и вы можете запустить set compat_expr , чтобы вернуться к старому поведению там.

Отсюда круглые скобки вокруг 86400 -% S , поэтому он работает как в csh , так и в tcsh .

0
13.04.2017, 15:36
0 ответов

Теги

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