予想される「fi」は予期しないものですか?

予想される「fi」は予期しないものですか?

ファイルサイズが9999バイト未満であることを確認しようとしていますが、ここでなぜ壊れるのかわかりません。

if compgen -G "$jdir0/"*.srt 
then

for f in "$jdir0"/*.srt
do
    jsubtitle="$(basename $f)"
    filesize=$(du -b "$jdir0/$jsubtitle" | cut -f1)
        if [ "$filesize" -lt 9999 ] then
           echo "less"
        fi   #line 443
        if [ $filesize -gt 10000 ] then......etc,etc...



    **line 443: syntax error near unexpected token `fi'**

$filesize変数を確認しましたが、スペースなしで数字のみが含まれています。また、ifステートメントで変数$ filesize(および9999)の周りに「」がないことを試みました。私もダブル[[をテストしましたが、何もテストしていません。

このisステートメントは "for f in.."ループ内の他のifステートメントの中にありますが、これは影響しませんか?

ベストアンサー1

私の考えでは、あなたの問題は、あなたが条件のthenような線上にあるということです。次の行にあるか、セミコロンを前にしてください。

解決策: if [ "$filesize" -lt 9999 ]; then

おすすめ記事