如何返回创建的菜单的不同部分

问题描述

用户回答失败时,我需要返回值“response1”,“response2”的情况相同。我的想法是,如果他们答对了,就让他们继续循环,如果没有,就回到上一个问题。我真的不明白是否可以退货,因为它对我不起作用,我不知道我是否可以用“case”来做到这一点。

function validate_ip()
{
local  ip=$insertIP
local  stat=1
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}$ ]];
then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255  && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]] 
stat=$?
fi
return $stat
}

echo "";
echo -n "Insert IP: ";
read -r insertIP;
echo $ip
if validate_ip insertIP;
then echo "Running Nmap";
    response1=$(echo "return here!!!");
    echo "Which is the simpliest way to launch Nmap?: "
    read -t 30 -r nmap;
    minusculas=$(echo "$nmap" | tr '[:upper:]' '[:lower:]')
        case $minusculas in
        nmap)
                echo "Correct!!!"
                 response2=$(echo "return here2!!!");
                 echo "Which option is use for UDP scan"
                    read -t 30 -r nmap2;
                    case $nmap2 in
                    -sU)
                        echo "Correct!!!"
                    ;;
                    *)
                        echo "Play again!!!"
                        return "$response2"
                    ;;
                    esac
        ;;
        *)
                echo "Play again!!!"
                return "$response1"
        ;;
        esac

#echo $insertIP
else
echo "This is not a IP";
fi

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)