shell脚本,检查给出的字符串是否为回文
[root@localhost wyb]# cat 12321.sh #!/bin/bash #检查给出的字符串是否为回文 read -p "Please input a String:" number [ -z $number ] && echo "input nothing " && exit 1 len=${#number} count=$((len/2)) for i in `seq $count` do lasti=$((len-i+1)) first=`echo $number|cut -c $i` two=`echo $number|cut -c $lasti` [[ "$first" != "$two" ]] && echo no && exit 2 done echo yes
[root@localhost wyb]# bash 12321.sh Please input a String:111111 yes [root@localhost wyb]# bash 12321.sh Please input a String:12321 yes [root@localhost wyb]# bash 12321.sh Please input a String:11111111111111122 no [root@localhost wyb]# bash 12321.sh Please input a String:123321 yes [root@localhost wyb]#
用rev来检查是不是回文 [root@localhost wyb]# cat rev12321.sh #!/bin/bash #检查给出的字符串是否为回文 read -p "Please input a String:" number [ -z $number ] && echo "input nothing " && exit 1 a1=`echo $number|tac` b2=`echo $number|rev` [[ "$a1" != "$b2" ]] && echo no || echo yes [root@localhost wyb]# bash rev12321.sh Please input a String:123421 no [root@localhost wyb]# bash rev12321.sh Please input a String:1111111111 yes [root@localhost wyb]# bash rev12321.sh Please input a String:111111111122 no [root@localhost wyb]# bash rev12321.sh Please input a String:123321 yes [root@localhost wyb]#
[root@localhost wyb]# cat rev.sh #!/bin/bash #检查给出的字符串是否为回文 read -p "Please input a String:" number [ -z $number ] && echo "input nothing " && exit 1 number2=`echo $number|rev` [[ "$number2" = "$number" ]] && echo yes || echo no [root@localhost wyb]# bash rev.sh Please input a String:111111 yes [root@localhost wyb]# bash rev.sh Please input a String:111111111122 no [root@localhost wyb]# bash rev.sh Please input a String:123321 yes [root@localhost wyb]#