首页 > 系统相关 >shell脚本之条件语句

shell脚本之条件语句

时间:2022-10-23 08:56:43浏览次数:56  
标签:语句 脚本 shell 是否 操作符 测试 字符串 格式 awk

一、test命令

1、格式

测试表达式是否成立,若成功返回0,否则返回其他数值

 
格式1:    test 条件表达式
格式2:    [ 条件表达式 ]

二、文件测试

1、格式

 
操作符、文件名或者目录名

2、常用的测试操作符

-d∶ 测试是否为目录(Directory)
-e∶ 测试目录或文件是否存在(Exist)
-f∶ 测试是否为文件(File)
-r∶ 测试当前用户是否有权限读取(Read)
-w∶ 测试当前用户是否有权限写入(Write)
-x∶测试当前用户是否有权限执行(eXcute)
-L∶测试是否为软链接文件

3、实例操作

三、整数值比较

1、格式

 
[ 整数1 操作符 整数2 ]

2、常用的测试操作符

   
-eq∶ 等于(Equal)
-ne∶ 不等于(Not Equal)
-gt∶ 大于(Greater Than)
-lt∶ 小于(Lesser Than)
-le∶ 小于或等于(Lesser or Equal)
-ge∶ 大于或等于(Greater or Equal)
 

3、实例操作

3.1结合逻辑与进行查询当前目录下的文件数目

3.2查看系统内存是否低于或者高于1024M,如果满足条件则提示

四、字符串比较

1、格式

 
[ 字符串1 = 字符串2 ]           #判断是否相等
[ 字符串1 != 字符串2 ]         #判断是否不等
[ -z 字符串 ]                  #是否空值
[ -n 字符串 ]                  # 字符集是否存在

2、常用的测试操作符

  • =∶ 字符串内容相同
  • !=∶ 字符串内容不同,!号表示相反的意思
  • z∶字符串内容为空

3、实例操作

五、逻辑测试(三元运算符)

1、格式

 
格式1∶    [ 表达式1 ] 操作符 [ 表达式2 ]…
格式2∶    命令1 操作符 命令2…

2、常用的测试操作符

  • -a或&&∶ 逻辑与,"而且"的意思
  • -o或||∶ 逻辑或,"或者"的意思
  • !∶逻辑否

3、实例操作

六、if语句

1、单分支结构

如果只有一个判断式要进行,那么我们可以使用单分支的if语句

1.1格式

 
if [ 条件判断式 ]; then
    当条件判断成立时,可以进行的命令工作内容
fi          #这里将if反过来写,结束if语句的意思

1.2原理图

2、双分支结构

在同一个数据的判断中,如果该数据需要进行两种不同的判断,我们就需要双分支if语句了:

2.1格式

   
if [ 条件判断式 ]; then
    当条件判断成立时,可以进行的命令工作内容
else   
    当条件判断不成立时,可以进行的命令工作内容
fi 
 

2.3实例操作

七、case语句结构

1、格式

   
case 变量名称 in
“第一个变量内容”
    程序段
    ;;
“第二个变量内容”
    程序段
    ;;
*)
    不包含第一个变量内容与第二个变量内容的其他程序执行段
    默认程序段
    ;;
esac    
 

2、 实例操作一

   
#!/bin/bash read -p "请输入一个字符:" a 
case "$a" in [0-9]) 
echo "你输入的是字母" 
;; 
[a-z]|[A-Z]) 
echo "你输入的是数字" 
;; 
*) 
echo "你输入的是其他字符" 
esac
 

八、浮点数的运算

bash不支持浮点数运算(小数运算),如果需要进行浮点数运算,则需要bc、awk的帮助

1、bc的基本用法

方法一:直接使用bc

方法二:在脚本中使用bc

2、awk的基本用法

awk是linux中处理文本的强大工具,或者说是一种专门处理字符串的语言,它有自己的编码格式。awk的强大之处还在于能生成强大的格式化报告。
awk的命令格式如下:

 
awk -F #    -F相当于内置变量FS, 指定分割字符

九、交换变量

参加一个临时变量即可替换

标签:语句,脚本,shell,是否,操作符,测试,字符串,格式,awk
From: https://www.cnblogs.com/yuqiao9/p/16817874.html

相关文章

  • C语言中的goto语句及简单运用
    一.概述C语言中提供了可以随意滥用的goto语句和标记跳转的标号。goto语句允许把控制无条件转移到同一函数内的被标记的语句。从理论上goto语句是没有必要的,实践中没有goto语......
  • 通过vbs语法不弹窗执行脚本
    vbs简介VBS是基于VisualBasic的脚本语言,简称VB。VBS的全称是:MicrosoftVisualBasicScriptEdition。vbs语法REM注释REM参数args1=WScript.Arguments.Item(0)a......
  • 用bash脚本统计代码行数
    获取单个文件行数文件:test1.sh行数:20方法一awk'{printNR}'test1.sh|tail-n1如图所示:方法二awk'END{printNR}'test1.sh如图所示:方法三grep-n""test1......
  • 使用Shell脚本进行条件测试
    使用Shell脚本进行条件测试......
  • shell基础
    https://mp.weixin.qq.com/s?__biz=MzI2OTA3NTk3Ng==&mid=2649284689&idx=1&sn=6942854dcbefde0f5f2fe563bbfb8888&chksm=f2f99336c58e1a2053fa294af14efd41a4a7c64d219ca0......
  • Shell细说sort排序
    sort是在Linux里非常常用的一个命令,管排序sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。使用方法:so......
  • shell sleep 睡眠命令
    shellsleep睡眠文章目录​​shellsleep睡眠​​​​1.背景​​​​2.简介​​​​3.语法​​​​4.实例​​​​4.1设置警报​​​​4.2终端中的延迟命令​​​​......
  • 防止电脑锁屏小脚本
    防止电脑锁屏小脚本  运行环境:java环境。使用方式:当前目录下:java-jarrobot.jar 提取地址:链接:https://pan.baidu.com/s/1tHw0W_JN89GHlLYprsc0-g?pwd=6......
  • 定义一个大小为30的整型一维数组x,并将该数组的前2个元素初始化为1,使用循环语句将Fibon
    定义数组和数组元素赋值1、定义一个大小为30的整型一维数组x,并将该数组的前2个元素初始化为1,使用循环语句将Fibonacci(菲波那契)数列的前30项依次赋给x[0]、x[1]、x[2]……......
  • shell脚本之条件语句
    一、test命令1、格式测试表达式是否成立,若成功返回0,否则返回其他数值格式1:test条件表达式格式2:[条件表达式]二、文件测试1、格式操作符、文件名或者......