ファイルサイズが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