いくつかの日付条件に基づいてクリーンアップのためのスクリプトを作成しました。しかし、私はエラーが発生しています。Bash - 構文エラー:予期しないファイルの末尾
#!/bin/bash
echo "Process Started"
Current_Date=`date +%Y-%m-%d`
echo "todays Date ==> $Current_Date"
fromDate=$1
toDate=$2
oldDate=`date --date="3 years ago" +%Y-%m-%d`
echo "Two Yrs Back Date ==> $oldDate"
if [ $toDate -le $oldDate ]
then
find . -type f -newermt $fromDate ! -newermt $toDate -exec truncate -s 0 {} \; && echo "truncated"
else
echo "todate should be less than three years"
fi
echo "Done"
エラーを取得する - line 15: syntax error: unexpected end of file
ライン15ではありませんが、スクリプトはわずか14行があります。また、bashスクリプトはコマンドecho "Two Yrs Back Date ==> $oldDate"
まで正常に実行されます。 その後、if
の状態が始まるとエラーが発生します。 私が作っている構文エラーをチェックしたかっただけです。
すべてのvarsを引用してください。 – 123
bashスクリプトは 'echo 'コマンドまでうまく動く2 Yrs Back Date ==> $ oldDate" 'その後、if条件が始まるとエラーを出します。 – Sam
'bash -n yourscpript'とは何ですか? 'od -c yourscript'を実行すると面白い文字(\ nの代わりに\ r)がありますか? – Jens