shell脚本,判断给出的字符串是否相等。

第一种方法[[email protected] wyb]# cat 11.sh
#!/bin/bash
#判断给出的字符串是否相等

read -p "Please Input a number:" number
[ -z $number  ] && echo ‘Input nothing‘ && exit 1

len=${#number}
a=`echo $number|cut -c 1`
for i in `seq $len`
do
    b=`echo $number|cut -c $i`
    [[ "$a" != "$b" ]] && echo no && exit

done
echo yes
[[email protected] wyb]# bash 11.sh
Please Input a number:1111111122
no
[[email protected] wyb]# bash 11.sh
Please Input a number:1111111
yes
[[email protected] wyb]# bash 11.sh
Please Input a number:666666666
yes
[[email protected] wyb]# 

第二种方法
[[email protected] wyb]# cat 111.sh
#!/bin/bash
#判断给出的字符串是否相等

read -p "Please Input a number:" number
[ -z $number ] && echo ‘Input nothing‘ && exit 1

a=`echo $number|cut -c 1`
b=`echo $number|tr -d $a`
[ -z $b ] && echo yes || echo no
[[email protected] wyb]# bash 111.sh
Please Input a number:111111
yes
[[email protected] wyb]# bash 111.sh
Please Input a number:123445
no
[[email protected] wyb]# bash 111.sh
Please Input a number:66666
yes
[[email protected] wyb]# 
时间: 2024-10-10 23:43:23

shell脚本,判断给出的字符串是否相等。的相关文章

shell脚本实现检测回文字符串

所有回文字的结构特征如下: 如果字符数是偶数,那么它在结构上表现为:一个字符序列连着另一个字符相同但次序恰好相反的字符序列. 如果字符数为奇数,那么它在结构上表现为:一个字符序列连着另一个字符相同但次序恰好相反的字符序列,但是这两个序列中间共享一个相同的字符. sed命令能够记住之前匹配的子样式.可以用正则表达式:'\(.\)',匹配任意一个字符,\1表示其反向引用.如匹配有两个字符的回文正则表达式为: '\(.\)\(.\)\2\1' 匹配任意长度的回文脚本如下所示: #!/bin/bash

Linux shell脚本判断服务器网络是否可以上网

Linux shell脚本判断网络畅通 介绍 在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需要有个函数来判断服务器网络状态 我们可以通过curl来访问 www.baidu.com,从而判断服务器网络状态是否可以畅通的 网络状态判断 #!/bin/bash #检测网络链接畅通 function network() { #超时时间 local timeout=1 #目标网站 local target=www.baidu.com #获取响应状态码 local

Linux中的shell脚本编程——数组 ,高级字符串操作 ,高级变量 ,配置用户环境

概述: 概述: 本章节将讲述Linux中shell脚本编程的数组,高级字符串处理,高级变量和配置用户的环境. 一.函数和位置参数扩展 1.shift 命令实现在位置参数中的跳跃,会把最左边的参数挤掉     2.匿名函数的使用 第一篇:数组 一.数组的定义: 1.变量:存储单个元素的内存空间 2.数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 3.数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开

Shell脚本判断IP是否合法性

运维角度来说,写shell脚本经常会遇到判断输入的值是否合法,比如IP.邮件地址等.那么,根据自身写脚本中总结的判断IP合法性脚本分享给网友,遇到时能有所参考. 思路:IP由四位数字组成,以点分割,每个字段不能大于255,必须符合这种格式 方法1: function check_ip() {     IP=$1     VALID_CHECK=$(echo $IP|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4

学以致用十七----shell脚本之比较数字和字符串及if else

非常需要注意的是shell脚本对空格要求非常严格, 如: 比较字符串   (不能用于比较字符串) 以上这种写法会报错 因此比较字符串不用 单中括号 [ ] 而是用双中括号[ [ ] ] ,比较两字符串中间用等号,用eq,lt ,gt 不起作用 ,        (正确格式) 且注意中括号和字母之间要有空格,否则会报错    (错误格式) 比较数字则单双中括号都可以用,-eq -lt  -gt  > <  =没有限制,但中括号和字母之间必须要有空格 if else 也有严格的要求 有if 后者是

Linux shell 脚本 实现查询出进程的名字,cup内存占用率,启动时间在线状态等格式化输出

目的是查询出进程的名字,cup内存占用率,启动时间在线状态等格式化输出 脚本实现的结果:[[email protected] ~]# sh /app/shell/app_status.shProcessName---------GroupName-------Status-----PID----CPU----MEMORY----StarTime---nginx WEB STOPED NULL NULL NULL NULLhttpd WEB STOPED NULL NULL NULL NULLmy

shell脚本判断语句和循环语句

if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; then echo "你输入的不是一个数字" exit 1fi case判断语句 #!/bin/bashcat <<EOF########################################### 欢迎学习shell编程 #######################

Linux shell脚本 判断用户输入的文件类型

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 编写一个脚本,从键盘输入一个文件,判断它是否存在,如果存在就判断它是什么类型的文件:并用对应的颜色输出 脚本如下: #!/bin/bash #function:test file type

shell脚本判断执行用户

在脚本中,判断执行者是否为root. 判断方法1, #!/bin/bash if [ `whoami` != "root" ];then echo " only root can run me" exit 1 fi  判断方法2(但是用sudo执行回报脚本有语法错误,不知为何,有知道的高手请回复我). if [ $UID == 0 ];then echo "you are root" fi