Este não é um script de shell, é perl. Você deve poder ver isso olhando a primeira linha do script, que pode ser algo como
#!/usr/bin/perl
O verbo unless
é equivalente a um if not
. Em perl
, pode ser colocado no início de uma declaração no local "tradicional" ou no final do comae ao qual se aplica.
Por exemplo, essas declarações são todas equivalentes:
$a = 31 unless $b == 4;
unless ($b == 4) { $a = 31 }
if ($b != 4) { $a = 31 }
Voltar para o seu script,
if (-x $RUN_ONCE) { unlink("$RUN_ONCE") unless system("$RUN_ONCE >>$LOG 2>&1"); }
O que isto está dizendo é aproximadamente equivalente a isto:
if $RUN_ONCE is executable then
delete it UNLESS running it returned an error exit status
Em outras palavras, execute o programa e exclua-o se a execução foi bem-sucedida.