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 .