example No. 1
做为shell编写人员,要避免使用者输入数据的格式不正确,也就是要在shell脚本发布前拦截可能的错误;本示例是对使用者输入的数据(或位置变量)进行判断是否可用,而后在符合条件时调用代码块;shell
#!/bin/bash #shell name: shell_vaild.sh #used:输入密码后判断密码是不是由数字和字母组成,判断输入的IP是否合法等 #author by woon #定义函数 vaild_pass() { decide=$(echo $1 | sed -e "s/[^[:alnum:]]//g") if [ "$decide" != "$pass" ];then return 1 else return 0 fi } # read -t 10 -p "Please input IP address:" ipaddr read -s -p "Please input the password:" pass echo #判断输入是否为空;空退出程序 if [ -z $ipaddr] || [ -z $pass ];then echo "输入错误\n" exit 2 fi if ! vaild_pass "$pass";then echo "Your inpur must consist of only letters and numbers.">&2 else echo "Your password is vaild!" fi yn=$(echo $ipaddr|awk -F "." '{if($1<255&&$2<255&&$3<255&&$4<255){print "0"}else{print "1"}}') if [ $yn == "0" ];then echo "Your Ipaddr is vaild" else echo "Your IPADDR is not vaild." exit 1 fi