- #!/bin/bash
-
validAlphaNum()
-
{
-
compressed="$(echo $1 | sed -e 's/[^[:alnum:]]//g')"
-
echo "com:$compressed"
-
echo "asdf:$1"
-
if [ "$compressed" != "$1" ] ; then
-
return 1
-
else
-
return 0
-
fi
-
}
-
echo -n "Enter input: "
-
read input
-
if ! validAlphaNum "$input" ; then
-
echo "Your input must consist of only letters and numbers" >&2
-
exit 1
-
else
-
echo "Input is valid"
-
fi
- 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.$(...)的用法:使用$(...)机制进行的变量赋值(除去使用``来赋值的另外一种新方法),事实上这两种方法都是相同的。