主题:初学linux。帮忙看看这个怎么回事呢?
#isshell
char=$1
case "$char"
in
[_a-zA-Z][_0-9a-zA-Z]* ) echo "yes";;
* ) echo "no";;
esac
脚本是打算检测输入变量是否是合法的shell变量名。shell变量名以字母或下划线字符开始,后面跟0个或者若干个字母数字或下划线字符。
此脚本可以正确检测两个或多个字母,但是不能检测单个字母字符。比如输入./isshell c .输出的是“no“,为什么呢?应该输出yes的
char=$1
case "$char"
in
[_a-zA-Z][_0-9a-zA-Z]* ) echo "yes";;
* ) echo "no";;
esac
脚本是打算检测输入变量是否是合法的shell变量名。shell变量名以字母或下划线字符开始,后面跟0个或者若干个字母数字或下划线字符。
此脚本可以正确检测两个或多个字母,但是不能检测单个字母字符。比如输入./isshell c .输出的是“no“,为什么呢?应该输出yes的