怎么用shell 判断一个字符串只由字母组成?

时间:2026-02-13 14:40:10

1、判断一个字符串是否只有字母组成,可以借助于grep命令,结合正则表达式来进行判断,字符有[A-Z]这26个字符组成,只要发现不属于这26个字符的字符,即表示不是纯字母的字符串。编写如下代码:

while ((1));do   

read -p "input string:" var;   

if [[ $var == q || $var == Q ]];then       

exit;   

fi   

echo "$var" | grep [^a-z] >/dev/null && echo "$var: not character" || echo "$var: character"

done

怎么用shell 判断一个字符串只由字母组成?

2、如上图所示的运行结果,GOOD做为输入,就判断错了,原因是没有考虑大写字母的问题。所以修改代码如下:

while ((1));do   

read -p "input string:" var;   

if [[ $var == q || $var == Q ]];then       

exit;   

fi   

echo "$var" | grep [^a-z\|A-Z] >/dev/null && echo "$var: not character" || echo "$var: character"

done

怎么用shell 判断一个字符串只由字母组成?

1、除了使用grep等正则表达式命令外,也可以直接使用bash的条件判断,在bash shell的[[]]运算中支持使用正则表达式。编写代码如下:

while ((1));do   

read -p "input string:" var;   

if [[ $var == q || $var == Q ]];then       

exit; 

fi    if [[ $var =~ ^[a-z\|A-Z]+$ ]];then

    echo "$var: character"

else

    echo "$var: not character"

fi

done

怎么用shell 判断一个字符串只由字母组成?

© 2026 五度知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com