#!/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
ました。私も同じミスを犯した。end
if
答え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