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]# 

 

 



posted on 2016-08-29 12:58  王月波  阅读(2039)  评论(0编辑  收藏  举报

导航