Bashスクリプトのネストされたケース

Bashスクリプトのネストされたケース

Webサーバーの侵入を自動化するためのbashスクリプトの作成を開始しました。この例では、入れ子になったケースを使用しましたが、すべてのインデントを正しく指定してもエラーが発生します。

パスワード:

#!/bin/bash
figlet Automated Pentesting
select menu in "Information_gathering" "scanning" "exploitation"
do
    case $menu in
        "Information_gathering")
            echo "###################################################"
            select ch in "person" "domain_information" "email" "phonenumber"
            do
                case $ch in
                    "Information_gathering")
                        read -p "Enter Person name:" name
                        firefox -new-tab -url http://www.spokeo.com/social/profile?q=$name -new-tab -url https://pipl.com/search/protect?q=$name&in=5&l=&sloc=
                    ;;
                    "domain_information")
                        read -p "enter the domain:" domain
                        echo -e "\033[31mwhois information of domain...........\033[m"
                        whois $domain
                        echo -e "\033[31mDNS information of domain........\033[m"
                        dnsrecon -d $domain
                        echo -e "\033[31mGet IP and hostnames from $domain......\033[m"
                        fierce -dns $domain -wordlist host.txt
                        echo -e "\033[31mGet emails of the domain.......\033[m"
                        theharvester -d $domain -l 500 -b google -h myresults.html
                        echo "emails are stored in myresults.html file"
                    ;;
                    "email")
                        read -p "enter email address:" mal
                        firefox -new-tab -url http://www.spokeo.com/social/profile?q=$mal -new-tab -url https://pipl.com/search/protect?q=$mal&in=5&l=&sloc=
                    ;;
                    "phonenumber")
                        read -p "Enter the phonenumber with countrycode" phnumbr
                        firefox -new-tab -url https://www.truecaller.com/search/in/$phnumbr 
                    ;;
                esac
            done
        "scanning")
            read -p "enter the domain to scan" domain
            echo "\033[31m scanning with nikto.........\033[m"
            nikto -h $domain -output /niktoresults.html
            echo "\033[31m vulnerablilty analysis with whatweb.......\033[m"
            whatweb $domain
            echo  "\033[31mscanning with nmap........\033[m"
            nmap -sV $domain -oX /nmapresults.xml
        ;;

        "exploitation")
            echo "\033[31m exploiting the domain......\033[m"
            python metasploitHelper.py -i nmapresults.xml
        ;;
    esac
done

発生したエラーは ./pentest.sh: line 37:)' ./pentest.sh: line 37: トークン 'scan' の近くに予期しない構文エラーが発生しました)' です。

答え1

すべてのケースセクションは;;。この場合、$menu外部一致caseで実行された部分はfinalで終わり"Information_gathering"ません。;;done

関連情報