Linux-Shell脚本编程-学习-5-Shell编程-使用结构化命令-if-then-else-elif

简介: if-then语句

if-then语句格式如下

 image.png

bash shell中的if语句可鞥会和我们接触的其他if语句的工作方式不同,bash shell的if语句会运行if语句后面的那个命令,如果该命令的退出状态码是0 那么执行位于then部分的的命令。


代码实例

image.png

这个脚本的功能就是,执行date命令,如果date命令执行成功,那么他的退出状态码是0就执行then后面的代码,在屏幕上面输一行文字,this is the if-then test


then后面的语句可以是一条或多条,和我们写简单的shell脚本没有区别,这里会一条一条的执行下去


测试实例代码

image.png

如果我们想要在shell和我们平常一样使用if else的功能,我们需要使用一下命令格式

image.png


这里,如果 执行if后面的命令的退出状态码是0 就执行then后面的代码块,否则就执行else后面的代码块

 

测试代码

image.png

在shell编程中,也是有if嵌套的,使用格式如下

image.png

这个就没有实例代码了,如果有兴趣的,可以吧上面的代码改吧改吧试试看,每次只能测试一种。

 

好了,学习下一个命令,test

 

test是个好东西,他的功能之一就是可以是我们shell的if可以比较真假的,test的基本命令格式很简单

image.png

condition是test命令要测试的一系列参数和值,当用在if-then语句的时候,test命令执行,如果tets命令中列出的条件为真的时候,退出状态码为0 否则为1,这样就可以在if-then中使用了

 

就是下面的格式了

image.png

不过每次这么写也挺别扭的。所以,在bash中,提供了另外一种tets的写法,那就是方括号[]

 

不过必须要在左方括号右面,右方括号左面各加一个空格才可以,不然报错

 image.png


test命令可以判断三种类型条件

 

1. 数值比较

2. 字符串比较

3. 文件比较

第一类,test数值比较的基本功能

image.png

image.png

image.png


第二个儿问题



#!/bin/bash


#testing string sort order


val1=testing

val2=Testing


if [ $val1 \> $val2 ]

   then

   echo "$val1 is greater than $val2"

else

   echo "$val1 is less than $val2"

fi


字符串大小



#!/bin/bash


#testing string length


val1=testing

val2=''


if [ -n "$val1" ]

   then

   echo "the string '$val1' is not empty"

else

   echo "the string '$val1' is empty"

fi



if [ -z "$val2" ]

   then

   echo "the string '$val2' is empty"

else

   echo "the string '$val2' is not empty"

fi


后面还有文件的比较,由于文件比较内容比较多,我会在写一个。


image.png

目录
相关文章
|
3天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
25 2
Linux系统之lsof命令的基本使用
|
5天前
|
Linux
Linux 系统五种帮助命令的使用
Linux 系统五种帮助命令的使用
31 14
|
1天前
|
运维 网络协议 Linux
linux系统命令 losf详解
**lsof命令**(List Open Files)是Linux系统中一个非常实用的工具,用于列出当前系统上所有打开的文件以及与之关联的进程。以下是对lsof命令的详细介绍: ### 一、基本功能 lsof命令可以显示系统中被进程打开的文件,这些文件可以是普通文件、目录、网络套接字、设备文件等。通过lsof命令,用户可以方便地查看哪些文件被哪些进程打开,以及这些文件的状态信息。 ### 二、基本语法 lsof命令的基本语法为:`lsof [选项] [文件]`。其中,选项用于指定lsof命令的行为,文件则是可选的,用于指定要查询的文件。 ### 三、常用选项 * `-a` 或 `-
|
1天前
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
9 4
|
6天前
|
Linux
Linux经常使用命令汇总和总结
Linux经常使用命令汇总和总结
25 1
|
6天前
|
安全 Linux Shell
Linux | Rsync 命令:16 个实际示例(上)
Linux | Rsync 命令:16 个实际示例(上)
20 0
Linux | Rsync 命令:16 个实际示例(上)
|
5天前
|
Unix Linux 开发工具
Linux Vim的 命令大全
Linux Vim的 命令大全
12 0
|
网络协议 Shell Linux
【Linux】shell编程基础(超详细,入门看这一篇就够了)(下)
【Linux】shell编程基础(超详细,入门看这一篇就够了)(下)
102 0
|
5月前
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)
|
Java Shell Linux
【Linux】shell编程基础(超详细,入门看这一篇就够了)(上)
【Linux】shell编程基础(超详细,入门看这一篇就够了)
793 0