问题描述
当用户回答失败时,我需要返回值“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 (将#修改为@)