このbashスクリプトからコード行を読み取るとエラーが発生するのはなぜですか? [閉鎖]

このbashスクリプトからコード行を読み取るとエラーが発生するのはなぜですか? [閉鎖]

このbashスクリプトからコード行を読み取るとエラーが発生するのはなぜですか?

read -p "Does this require cropping? (y/n)? " answer
case ${answer:0:1} in
    y|Y )
mkdir cropped; for i in *.mp4; do ffmpeg -i "$i" -filter:v "crop=1900:1080:-20:0" cropped/"${i%.*}.mp4"; rm -r *.mp4; cd cropped; cp -r *.mp4 ../
    ;;
    * )
mkdir no
    ;;
esac

私が答えると、端末で次のような結果が得られます。

Does this require cropping? (y/n)? n
/usr/local/bin/prep: line 17: syntax error near unexpected token `;;'
/usr/local/bin/prep: line 17: `    ;;'

しかし、私が実行する(例)レスポンスコードが完全ではなく次のように変更された場合、これはmkdir cropped; for i in *.mp4...うまく機能します。

mkdir yes

答え1

donein the loopが欠落しているためforno )項目はループの一部です。

関連情報