bash集代理脚本

bash集代理脚本,bash,if-statement,while-loop,Bash,If Statement,While Loop,下面是我设置代理的bash脚本,我绝对不是bash方面的专家。我想有更好的方法写这篇文章,任何提示都将不胜感激 添加更多细节以满足stackoverflows要求。是否有更好的方法来执行嵌套while循环和if语句 #/bin/bash set-e #功能 函数yesno(){ 当读取-n1-r-p“[y/n/QUIT]>”时,执行以下操作 案件$答复 y | n)返回;; q) 回显;回显;退出1;; *)printf“\n错误-响应无效,请输入是或否。\n”;; 以撒 完成 } 函数star

下面是我设置代理的bash脚本,我绝对不是bash方面的专家。我想有更好的方法写这篇文章,任何提示都将不胜感激

添加更多细节以满足stackoverflows要求。是否有更好的方法来执行嵌套while循环和if语句

#/bin/bash
set-e
#功能
函数yesno(){
当读取-n1-r-p“[y/n/QUIT]>”时,执行以下操作
案件$答复
y | n)返回;;
q) 回显;回显;退出1;;
*)printf“\n错误-响应无效,请输入是或否。\n”;;
以撒
完成
}
函数startover(){
printf“\n\n\e[1m\e[31m开始…\e[0m\n”
睡眠2
取消设置代理端口代理主机
}
shopt-s nocasematch
虽然是真的;做
printf“\n是访问出站\e[1m\e[7mHTTP/HTTPS\e[0m站点所需的代理?\n”
是的
如果[[$REPLY==“y”];则
printf“\n\n请输入您的代理url\n例如-\e[1m\e[7mproxy.example.com:8080\e[0m\n”
读取时-r-p“Proxy>”代理;执行
如果[[$proxy=~^https://&&$proxy=~:[0-9]{1,5}$]],则
printf“\n错误-不支持带有端口的HTTPS,请在没有“\e[1m\e[97m\e[41mHTTPS://\e[0m”前缀的情况下重新输入\n”
(a-a-Z00-0-5[0-0-4[0-5-4[0-5-4[0-0-4[0-4[0-4[0-4[0-4-4[0-4[0-4[0-4[0-0-4[0-5[0-5[0-0-5[0-0-5[0-5[0-5[0-5[0-5[0-5[0-4[0-4[0-4[0-4[0-4[0-4[0-4[0-4][0-4[0-4][[0-4[0[0-1[0-9[0[0[0[0-9[0-9[0-9[0-9][0-9[0-9[0-9][0-9[0-9[0-9[0-9[0-9[0-9[0-9[0-9[0-9[0-9[| 2[0-4][0-9]|[01]?[0-9][0-9]?)?(:[0-9]{1,5})?$);然后
如果[[$proxy=~:[0-9]{1,5}$]];则
proxyport=${proxy##*:}
proxy=${proxy%:*}
echo“端口输入$proxyport”
elif[$proxy=~^https://&&!$proxy=~:[0-9]{1,5}$];然后
proxyport=443
echo“URL以HTTPS开头,假设$proxyport”
其他的
proxyport=80
echo“未输入端口,假设$proxyport”
fi
proxyhost=${proxy##*/}
打破
其他的
printf“\n错误-\e[1m\e[97m\e[41m$proxy\e[0m不受支持,请重试\n”
fi
完成
printf“\n正在创建代理设置\n”
睡眠2
printf“代理主机名:\e[1m\e[97m\e[44m$proxyhost\e[0m\n代理端口:\e[1m\e[97m\e[44m$proxyport\e[0m\n上述信息正确吗?\n”
是的
如果[[$REPLY==“n”];则
startover
fi
fi
打破
完成
shopt-u nocasematch

我投票将此问题作为主题外的问题结束,因为它属于主题。感谢您的输入,我不知道codereview,我将在那里发布我的问题