在编写脚本的过程中,我们经常需要设置IP地址、密码等变量。为了便于使用,我们将为这些变量的值提供一个选择范围或设置随机值和默认值。
那么要判断脚本用户是否输入了密码,应该怎么做呢?看下面一个常见的例子:
#设置和检测数据库根密码配置
root = ' OpenSSL rand-base*** 8 | MD 5 sum | cut-c 1-8 '
阅读-p “请输入密码[root],默认为[$ { root }]:”root_pass
然后我们运行这段:
然后我们运行这一段:
运行结果
此时,会出现两种情况:
用户输入了自定义的密码
用户没有输入任何信息
我们先来完善一下剧本:
#设置和检测数据库根密码配置
root = ' OpenSSL rand-base*** 8 | MD 5 sum | cut-c 1-8 '
echo-e “请输入密码[root],默认为[$ { root }]:n ”
读取root_pass
echo-e “当前设置的密码:[$ root _ pass]”
继续运行
继续跑。
执行结果
此时可以看到,如果直接输入,会出现空白字现象,但是密码只有用户输入了才会出现。看到这里,有人会说:你没设置,但是有密码就奇怪了。的确,我还没设置好。下面我们来设置一下:
#设置和检测数据库根密码配置
root = ' OpenSSL rand-base*** 8 | MD 5 sum | cut-c 1-8 '
echo-e “请输入密码[root],默认为[$ { root }]:n ”
读取root_pass
如果[[-z “$ root _ pass & # 8221]];然后
root_pass=$root
船方不负担装货费用
echo-e “当前设置的密码:[$ root _ pass]”
然后执行:
然后执行:
将显示默认(随机)密码。
那就在这里解决吧。看到这里,可能又有人迷茫了?就在这里?
别急,继续往下看。
在上面的例子中,只设置了一个变量,但是如果需要设置很多变量呢?我该怎么办?一个设定加一个判断?
辜莞允,这太麻烦了。这里有一个简单的方法:定义函数
功能内容如下:
input_check()
#1不需要设置的参考变量值[提供默认变量]
#2请参考该参数的备注[例如,数据库的root密码]
#3参数是一个随机/默认值。
#4是变量名。
如果[[-z “”]];然后
echo-e “${red_zt}检测到没有输入,默认值[$ { 3 }]$ { end } ”
评价回声报。=″`
其他
评价回声报。=″`
船方不负担装货费用
}
怎么用?让我们把上面的案例放进去:
input_check()
#1不需要设置的参考变量值[提供默认变量]
#2请参考该参数的备注[例如,数据库的root密码]
#3参数是一个随机/默认值。
#4是变量名。
如果[[-z “”]];然后
echo-e “${red_zt}检测到没有输入,默认值[$ { 3 }]$ { end } ”
评价回声报。=″`
其他
评价回声报。=″`
船方不负担装货费用
}
输入(){
echo-e “”
阅读2美元
}
root = ' OpenSSL rand-base*** 8 | MD 5 sum | cut-c 1-8 '
输入“请输入密码[root],默认为[$ { root }]:”root_pass
input _ check & # 8220$ root _ pass & # 8221“数据库[root]的密码”“$ root & # 8221“root _ pass & # 8221
然后执行:
然后执行:
通过函数判断和设置变量值。
有了这个函数,我们每次需要判断一个值时,只需要按照参数传递要求调用它就可以实现默认值和自定义值的配置,例如:
#设置和检测数据库根密码配置
root = ' OpenSSL rand-base*** 8 | MD 5 sum | cut-c 1-8 '
输入“请输入密码[root],默认为[$ { root }]:”root_pass
input _ check & # 8220$ root _ pass & # 8221“数据库[root]的密码”“$ root & # 8221“root _ pass & # 8221
#数据库的初始权限配置
输入“关闭[root]用户远程登录[y/n],默认为[y]”脱臼
input _ check & # 8220$ disob rogin ”“数据库[root]的用户登录权限”“y & # 8221“脱臼”
#删除测试数据库?
输入“删除[测试]数据库[y/n],默认为[y]”rm_db
input _ check & # 8220$ rm _ db & # 8221“删除[测试]数据库确认”“y & # 8221“rm _ db & # 8221
#结果总结
red _ z _ green _ z & # 8220数据库[root]用户的密码:”“[$ root _ pass]”
red _ z _ green _ z & # 8220允许[root]远程登录:”“[$ distro gin]”
red _ z _ green _ z & # 8220删除[测试]数据库:”“[$ RM _ db]”
输入“继续[回车继续]”Y
你开辟了一个新的世界吗?其实你可以继续完善这个功能。如果想了解更多,请关注我,等待更新。
本文来自牛奶煮萝莉投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/587048.html