unexpected EOF while looking for matching `"' ubuntu 20.04

Can someone help me ??? i don't know where is the problem ??

./menu.sh: line 268: unexpected EOF while looking for matching `"'
./menu.sh: line 271: syntax error: unexpected end of file

 submenuFTP () { local PS3='Please enter option: ' local options=( "Install vsftp" "create ftp user" "Return to menu") local opt select opt in "${options[@]}" do case $opt in "Install vsftp") ./vsftp/vsftp_install.sh ;; "Create ftp user") ./vsftp/create_ftp.sh ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
}
submenuDatabase () { local PS3='Please enter option: ' local options=("MySQL" "MariaDB" "MongoDB" "Postgres" "Return to menu") local opt select opt in "${options[@]}" do case $opt in "Install MySQL ") ./Database/mysql.sh ;; "Install MariaDB") ./Database/mariadb.sh ;; "Install MongoDB") ./Database/mongodb.sh ;; "Install Postgres") ./Database/postgres.sh ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
}
submenuEmail () { local PS3='Please enter option: ' local options=("Install postfix" "Install anti-spam" "Install anti-virus" "Add domaine" "Add user mail" "Return to menu") local opt select opt in "${options[@]}" do case $opt in "Install postfix") ./mail/postfix_install.sh ;; "Install anti-spam") ./mail/spamassassin_install.sh ;; "Install anti-virus") ./mail/clamAV_install.sh ;; "Add domaine") ./mail/add_domain.sh ;; "Add user mail") ./mail/add_user.sh ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
}
submenuawstats () { local PS3='Please enter option: ' local options=("Install awstats" "Add domain awstats" "Return to menu") local opt select opt in "${options[@]}" do case $opt in "Install awstats") ./Monitoring/awstats_install.sh ;; "Add domain awstats") ./Monitoring/awstats_add_domaine.sh ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
} submenuprestashop () { local PS3='Please enter option: ' local options=("Install prestashop" "Add domain prestashop" Return to menu") local opt select opt in "${options[@]}" do case $opt in "Install prestashop") ./Monitoring/prestashop_install.sh ;; "Add domain prestashop") ./Monitoring/prestashop_add_domaine.sh ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
}
submenuMonitoring () { local PS3='Please enter option: ' local options=( "Use awstats" "Use prestashop" "Return to menu") local opt select opt in "${options[@]}" do case $opt in "Use awstats") submenuawstats ;; "Use prestashop") submenuprestashop ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
}
submenuSecurity () {
local PS3='Please enter option: ' local options=("Install certbot" "Secure web page" "Secure mail" "Return to menu") local opt select opt in "${options[@]}" do case $opt in "Install certbot") ./certbot/certbot_install.sh ;; "Secure web page") ./certbot/certbot_web.sh ;; "Secure mail") ./certbot/certbot_mail.sh ;; "Secure FTP") ./certbot/certbot_FTP.sh ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
}
submenuwebserver () { local PS3='Please enter option: ' local options=("Install Nginx" "Create web page" "Return to menu") local opt select opt in "${options[@]}" do case $opt in "Install Nginx ") ./serverWeb/nginx_install.sh ;; "Create web page") ./serverWeb/nginx_add_page.sh ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
}
submenuDNS () { local PS3='Please enter option: ' local options=("Install PowerDNS" "Add domaine" "Return to menu") local opt select opt in "${options[@]}" do case $opt in "Install PowerDNS") ./DNS/power_install.sh ;; "Add domaine") echo "you chose sub item 1" ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
}
submenuCron () { local PS3='Please enter option: ' local options=("Install Cron" "Add domaine" "Return to menu") local opt select opt in "${options[@]}" do case $opt in "Install Cron") ./cron/install_cron.sh ;; "Add cron job for database") ./cron/cron_database.sh ;; "Add cron job for nginx") ./cron/cron_nginx.sh ;; "Add cron job for awstats") ./cron/cron_awstats.sh ;; "Add cron job for certbot") ./cron/cron_certbot.sh ;; "Return to menu") return ;; *) echo "invalid option $REPLY";; esac done
}
# main menu
local PS3='Please enter option: '
options=("File manager" "Databases" "Email" "Monitoring" "Security" "Web server" "Web server" "Cron job" "DNS server" "Main menu quit")
select opt in "${options[@]}"
do case $opt in "File manager") submenuFTP ;; "Databases") submenuDatabase ;; "Email") submenuEmail ;; "Monitoring") submenuMonitoring ;; "Security") submenuSecurity ;; "Web server") submenuwebserver ;; "DNS server") submenuDNS ;; "Cron job") submenuCron ;; "Main menu quit") exit ;; *) echo "invalid option $REPLY";; esac

done the line 268 and 171 are :

268 *) echo "invalid option $REPLY";;
269 esac
270 done
271
2

1 Answer

./menu.sh: line 268: unexpected EOF while looking for matching `"'

local options=("Install prestashop" "Add domain prestashop" Return to menu")

is missing a quote " before Return.

Note you can use ShellCheck – shell script analysis tool to check for errors in bash scripts.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like