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

目录
相关文章
|
2月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
121 2
|
2月前
|
存储 安全 Linux
|
22天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
89 13
|
2月前
|
Linux Shell 数据安全/隐私保护
|
2月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
3月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
3月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
89 12
|
3月前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
52 1
|
4月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
3月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
127 0
下一篇
开通oss服务