getopts脚本设置方式
#":u:p:h:P:"中开头的:是指区分错误类型#OPTARG是指系统内置变量whilegetopts":u:p:h:P:"optdocase$optinu)user=$OPTARGecho"用户名:${user}";;p)pwk=$OPTARGecho"用户密码:${pwk}";;h)host=$OPTARGecho"连接主机IP为:${host}";;P)post=$OPTARGecho"端口号为:${post}";;esacdoneif[[$pwk=""]];then#-s指静默输入,不会在命令行显示输出内容,-p指提示信息read-s-p"请输入密码:"pwk#-e-n设置为了识别\necho-e-n"\n用户密码:${pwk}\n"fi#此处为模拟运行的方式,仅打印测试echo"mysql-u${user}-P${post}-h${host}-p${pwk}"
运行方式有两种
直接填充密码型
mysql-uyuanyu-P-h10.10.10.10-pyuanyu
回车后手动输出
shdata.sh-uyuanyu-h10.10.10.10-P-p
另外在getopts中未命中参数是也有相应配置,这里我省略掉了
whilegetopts":u:p:h:P:"optdocase$optinu)user=$OPTARGecho"用户名:${user}";;?)echo"无效参数"#此处若有无效参数,选择直接退出#若想忽略无效参数,继续运行,则将下面这行注释掉exit0;esacdone
如有疑问,可在后台留言,欢迎各位前来交流技术~~~
鸢余