Cool Scripts 2:Validating Alphanumeric Only

1918阅读 0评论2011-12-13 sunjiangang-ok
分类:Python/Ruby

这个脚本比较简单,就是判断一个输入是不是由数字和字母组成的。

  1. #!/bin/bash
  2. validAlphaNum()
  3. {
  4.         compressed="$(echo $1 | sed -e 's/[^[:alnum:]]//g')"
  5.         echo "com:$compressed"
  6.         echo "asdf:$1"
  7.         if [ "$compressed" != "$1" ] ; then
  8.                 return 1
  9.         else
  10.                 return 0
  11.         fi
  12. }
  13. echo -n "Enter input: "
  14. read input
  15. if ! validAlphaNum "$input" ; then
  16.         echo "Your input must consist of only letters and numbers" >&2
  17.         exit 1
  18. else
  19.         echo "Input is valid"
  20. fi
  21. exit 0

我觉得,这个脚本可以引出下面3个问题:
1.$var和${var}的区别:使用${var}是为了防止在某些上下文中引用变量引起的错误。
2.echo $var和echo "$var"的区别,看一个例子就明白了:

var="A B  C    D"
echo $var       #A B C D
echo "$var"     #A B  C    D

3.$(...)的用法:使用$(...)机制进行的变量赋值(除去使用``来赋值的另外一种新方法),事实上这两种方法都是相同的。


上一篇:sed学习笔记
下一篇:Cool Scripts 3:Normalizing Date Formats