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

非常需要注意的是shell脚本对空格要求非常严格,

如:

比较字符串

  (不能用于比较字符串)

以上这种写法会报错

因此比较字符串不用 单中括号 [ ]

而是用双中括号[ [ ] ] ,比较两字符串中间用等号,用eq,lt ,gt 不起作用 ,

       (正确格式)

且注意中括号和字母之间要有空格,否则会报错

   (错误格式)

比较数字则单双中括号都可以用,-eq -lt  -gt  > <  =没有限制,但中括号和字母之间必须要有空格

if else 也有严格的要求

有if 后者是 elif的,条件后面要带分号 + then

esle 不是if结尾,不用加分号和then

最后要以fi结尾。

否则都会报错

原文地址:https://www.cnblogs.com/liongong/p/9730092.html

时间: 2024-10-13 05:41:26

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

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

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

shell脚本----if(数字条件,字符串条件,字符串为空)

二元比较操作符,比较变量或者比较数字. 注意数字与字符串的区别. 1.整数比较  [cpp] view plain copy print? -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a" -ge

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

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

shell脚本:猜数字游戏

[[email protected] ~]# cat guess.sh  #!/bin/bash #guess number game; n=$[$RANDOM%100] while : do     read -p "please input a number: " n1     n2=`echo $n1 | sed 's/[0-9]//g'`     if [ ! -z $n2 ]     then         echo "your number is not a n

Shell脚本命令猜数字

原文地址:http://blog.51cto.com/13956537/2287388

关于shell脚本函数、数组、字符串截取、svn更新发布实例

#/bin/bash #功能:QA服根据模板创建区配置文件并提交到svn上. SOURCE_PATH=/data/source_code SVN_PATH=/code/psm   #svn发布目录,要先推送到这个目录,然后更新提交 dir="/data/source_code/configfiles" default_conf="config.properties" default_socket_conf="socket.lp" LOG_FILE

shell脚本学习-语法篇

一. 条件测试:test [命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测 试结果为假,则命令的Exit Status为1(注意与C语言的逻辑表示正好相反). 二.if/then/elif/else/fi和C语言类似,在Shell中用if.then.elif.else.fi这几条命令实现分支控制.这种流程控制语句本质上也是由若干条Shell命令组成的,其实是三条命令,if [ -f ~/.bashrc ]是第一条,then . ~/.ba

shell脚本实现自动生成文件并更改其权限

在学习shell的时候,会不断的创建新文件,然后在新文件中的编写shell脚本学习.于是就有如下几个步骤: 1. 使用touch命令新建shell脚本 2. 编写shell脚本 3. 使用chmod更加shell脚本权限,使其具有可执行权限,然后执行 当多写几个脚本后,就发现这个过程很繁琐,而且新建的shell脚本是以数字升序进行创建的.为什么不写一个脚本来实现上述三个过程了.于是就开始了,结果花了好长一段时间才弄出来,真实惭愧,还是对shell不熟悉了. 先说说实现的思路: 1. 先得到目录下

shell脚本学习整理(二)

条件测试--test 或[ 命令"test"或"["可以测试一个条件是否成立,如果测试结果为真,则该命令的退出码为0,如果测试结果为假,则命令的退出码为1. 常见测试命令举例: note:左方括号[是一个命令的名字,传给命令的各参数之间应该用空格隔开,比如,$VAR.-gt.3.]是[命令的四个参数,它们之间必须用空格隔开.命令test或[的参数 形式是相同的,只不过test命令不需要]参数. 与.或.非的测试命令  [ ! EXPR ]  : EXPR可以是上述中