快速业务通道

101个shell脚本之002

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-31

这是第二集,今天这个例子是 用来验证用户输入的参数的合法性的,程序并不复杂,如下所示:


#!/bin/sh

# validAlphaNum - Ensures that input consists only of alphabetical

# and numeric characters.



validAlphaNum()

{

  # Validate arg: returns 0 if all upper lower digits, 1 otherwise



  # Remove all unacceptable chars

  compressed="$(echo $1 | sed -e ''s/[^[:alnum:]]//g'')"



  if [ "$compressed" != "$input" ] ; then

    return 1

  else

    return 0

  fi

}



# Sample usage of this function in a script



echo -n "Enter input: "

read input



if ! validAlphaNum "$input" ; then   #// 这个有点巧妙,就是如果函数的返回值为1的话,则执行

  echo "Your input must consist of only letters and numbers." >&2

  exit 1

else

  echo "Input is valid."

fi



exit 0





就像上面所说这脚本流程和思路还是很简明的,就是讲你的输入用sed过滤后于原输入相比较,不相等则输入不合法.

值得注意的地方有


1)  sed -e ''s/[^ [:alnum:]]//g''  ([:alnum:]是 大小写字母及数字的意思,这里sed的作用是将非大小写字母及数字过滤掉.

2)  if ! validAlphaNum "$input"   $input作为 函数的参数被调用,注意这里加了引号.



第二集完,待续.... 


本文出自 “你就当我是浮夸吧” 博客,请务必保留此出处http://2804976.blog.51cto.com/2794976/589458

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号