引数の解析に関するこのチュートリアルに従っていました。引数の有無にかかわらずスクリプトを実行すると、「45 行目: 構文エラー: 予期しないファイルの終わり」が表示されます。これは、スクリプトの最後の行の次の行です。ただし、エラーは表示されません(bashスクリプトの新機能...)。
#!/bin/bash
#Explain arguments that can be passed in
argumentUsage(){
    cat << EOF
    usage: $0 options
    This script configures rsync to backup SOURCE to DESTINATION and provide notifications on status.
    OPTIONS:
       -h    Show this message
       -s    Source location
       -d    Destination location
    EOF
}
DESTINATION=
SOURCE=
while getopts "hs:d:" OPTION
do 
   case $OPTION in
    h)
       argumentUsage()
       exit1
       ;;
    s)
       SOURCE=$OPTARG
       ;;
    d)
       DESTINATION=$OPTARG
       ;;
    ?)
       argumentUsage()
       exit
       ;;
   esac
done