構文エラー:予期しないファイルの終わり

構文エラー:予期しないファイルの終わり
#!/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

cshスクリプトを使用して1460ファイルの名前を変更しようとすると、シェルで「Syntax error:Unexpected end of file」構文エラーが発生しますtcsh
両方の方法を試しましたが、このような状況が発生しfiました。私も同じミスを犯した。endif

答え1

クイック Google 検索では、お客様のIF声明が構文的に正しくない可能性があることを示しています。他のシェルの構文を混在している可能性があります。

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

http://beefchunk.com/documentation/tips/unix_tips_and_tricks/node40.html

関連情報