この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
done
in the loopが欠落しているためfor
、no )
項目はループの一部です。