erro de sintaxe: final inesperado do arquivo

2
#!/bin/csh -f

set no=1460
while ("$no">0)
if [$no>900]; then
 set m=3
else if ["$no">450 && "$no"<901]; then
 set  m=2
else
 set m=1
fi
mv *$no.bin test/abc-$m-$no.bin
set no =$no-1
end

Estou tentando renomear 1460 arquivos usando um script csh, mas recebo um erro de sintaxe "erro de sintaxe: fim de arquivo inesperado" Estou em tcsh shell.
Eu tentei fi e end para finalizar a condição if . Eu recebo o mesmo erro.

    
por user68580 26.05.2014 / 08:38

1 resposta

1

Uma pesquisa rápida no Google revela que a sintaxe da instrução IF está provavelmente incorreta. Você pode estar misturando sintaxe de outro shell.

if ( $no > 900 ) then
  set m=3
else if ( $no > 450 && $no < 901)
  set m=2
else
  set m=1
endif

link

    
por 26.05.2014 / 12:41