今天碰到一个问题特别奇怪!
发表于 : 2007-11-02 10:47
今天编了一个shell:
#
#把参数带入的字符划分类型
#
if [ "$#" -ne 1 ]
then
echo "用法: ctype 字符"
exit 1
fi
#
#请确保只键入一个字符
#
char="$1"
numchars=$(echo "$char" | wc -c)
if [ "$numchars" -ne 2 ]
then
echo "请键入一个字符"
exit 1
fi
#
#现在给它分类
#
case "$char" in
[0-9]) echo 数字;;
[a-z]) echo 小写字母;;
[A-Z]) echo 大写字母;;
*) echo 特殊字符;;
esac
root@tanrui-desktop:/bin# sh -x ctype A
#检测结果:
+ [ 1 -ne 1 ]
+ char=A
+ echo A
+ wc -c
+ numchars=2
+ [ 2 -ne 2 ]
+ echo 大写字母
大写字母
root@tanrui-desktop:/bin# ctype A
小写字母
真的很奇怪!
我检测脚本明明输入A显示结果是大写字母,但是当我对A运行脚本时,结果却是小写字母!!
而且同样参数为B时结果也一样。
但是当参数为C-Z时,结果就是大写字母了。难道系统对A和B不识别?
希望高手们多多指教,小弟多谢!!
#
#把参数带入的字符划分类型
#
if [ "$#" -ne 1 ]
then
echo "用法: ctype 字符"
exit 1
fi
#
#请确保只键入一个字符
#
char="$1"
numchars=$(echo "$char" | wc -c)
if [ "$numchars" -ne 2 ]
then
echo "请键入一个字符"
exit 1
fi
#
#现在给它分类
#
case "$char" in
[0-9]) echo 数字;;
[a-z]) echo 小写字母;;
[A-Z]) echo 大写字母;;
*) echo 特殊字符;;
esac
root@tanrui-desktop:/bin# sh -x ctype A
#检测结果:
+ [ 1 -ne 1 ]
+ char=A
+ echo A
+ wc -c
+ numchars=2
+ [ 2 -ne 2 ]
+ echo 大写字母
大写字母
root@tanrui-desktop:/bin# ctype A
小写字母
真的很奇怪!
我检测脚本明明输入A显示结果是大写字母,但是当我对A运行脚本时,结果却是小写字母!!
而且同样参数为B时结果也一样。
但是当参数为C-Z时,结果就是大写字母了。难道系统对A和B不识别?
希望高手们多多指教,小弟多谢!!