当前位置: 技术问答>linux和unix
shell编程字符串问题
来源: 互联网 发布时间:2015-09-20
本文导语: 请教如何判断读入的一个字符串(如人名)合法?‘合法’定义为:此字符串只包含有字母或空格。此字符串的长度不定. | s="123 456 abc efg" len=`echo $s | awk '{print length( $0 )}'` start=1 while...
请教如何判断读入的一个字符串(如人名)合法?‘合法’定义为:此字符串只包含有字母或空格。此字符串的长度不定.
|
s="123 456 abc efg"
len=`echo $s | awk '{print length( $0 )}'`
start=1
while [ $start -le $len ]
do
char=`echo $s | cut -c$start-$start`
echo $char
case $char in
[0-9])
echo digital;;
[a-z])
echo letter;;
' ')
echo space;;
*)
echo error;;
esac
start=`expr $start + 1`
done
len=`echo $s | awk '{print length( $0 )}'`
start=1
while [ $start -le $len ]
do
char=`echo $s | cut -c$start-$start`
echo $char
case $char in
[0-9])
echo digital;;
[a-z])
echo letter;;
' ')
echo space;;
*)
echo error;;
esac
start=`expr $start + 1`
done
|
read name
test "$name" == "$(echo $name | egrep '[[:alpha:] ]+' -o)"
test "$name" == "$(echo $name | egrep '[[:alpha:] ]+' -o)"