Tente:
eval "'date +'@ s = (86400 - %S) - 60 * (%M + 60 * %H)''"; echo $s
No entanto, note que em fusos horários que têm horário de inverno e verão, ele não dará o resultado correto se solicitado no dia da mudança de / para horário de verão, antes da troca (que geralmente ocorre bem cedo) .
Tenha em atenção que, em csh
, os operadores aritméticos são right -associative com */
tendo precedência sobre +-
, como em
@ s = 1 - 2 + 3 - 4
é
@ s = 1 - (2 + (3 - 4))
E não:
@ s = (((1 - 2) + 3) - 4)
como em outros idiomas. Isso foi corrigido em tcsh
(6.15.01) e você pode executar set compat_expr
para voltar ao comportamento anterior.
Daí os parênteses em torno de 86400 - %S
para que funcionem em csh
e tcsh
.