linux shell脚本编程笔记(二): 分支结构

简介:

1.if

if command
then
    commands
fi
if command
then
    commands
else
    commands
fi
复制代码
if command1
then
    command set 1
elif command2
then
    command set 2
elif command3
then
    command set 3
fi
复制代码
Top

2.test: 用于if条件中

if test condition
then
    commands
fi
if [condition]
then
    commands
fi

test有三种比较场景:数值比较、字符串比较、文件比较。

1>: 数值比较

 

eg:

不过有个陷阱,关于浮点数的,看下面:

test命令不能处理浮点数。

2>: 字符串比较

eg:

比较字符串大小时,需要注意:

第一条是因为,大于小于号与重定向符号冲突;第二条,看下面:

另外,

还有两个参数:-n(判不空) -z (判空)

eg:

绝对避免在shell脚本里使用未知是否存在或空的变量,-n/z可判变量是否未空或未定义。

3>: 文件比较

 

eg:

 4>: 复合条件测试

eg:

5>:备注

test语句用中括号时候,中括号本身两边得有空格与其他数据隔开。中括号前面加非(!),即表示取非操作,但是,叹号也要与中括号用空格隔开。

Top

3.if then高级特性

1>: 使用双尖括号

前面提到数值比较,需要转义大于小于号,且支持的符号很有限。而双尖括号,则不仅不需要转义符号,且拓展更多的符号使用。

eg:

双尖括号不仅可以用在if条件里,也可以用在普通命令里用来赋值。

 2>: 使用双方括号

双方括号,支持模式匹配。

eg:

Top

4.case

类似于c语言里的switch。

其中,|代表或,*代表default(前面case都不成立时,进入*)

eg:










本文转自 jiu~ 博客园博客,原文链接:http://www.cnblogs.com/jiu0821/p/8032602.html,如需转载请自行联系原作者
目录
相关文章
|
28天前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
92 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
30天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
60 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
12天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
23天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
73 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
1月前
|
存储 Shell Linux
【Linux】shell基础,shell脚本
Shell脚本是Linux系统管理和自动化任务的重要工具,掌握其基础及进阶用法能显著提升工作效率。从简单的命令序列到复杂的逻辑控制和功能封装,Shell脚本展现了强大的灵活性和实用性。不断实践和探索,将使您更加熟练地运用Shell脚本解决各种实际问题
22 0
|
5月前
|
消息中间件 存储 缓存
【嵌入式软件工程师面经】Linux系统编程(线程进程)
【嵌入式软件工程师面经】Linux系统编程(线程进程)
125 1
|
6月前
|
Linux 调度 数据库
Linux下的系统编程——线程同步(十三)
Linux下的系统编程——线程同步(十三)
113 0
Linux下的系统编程——线程同步(十三)
|
存储 Linux 调度
Linux系统编程 多线程基础
Linux系统编程 多线程基础
61 1
|
6月前
|
存储 安全 数据管理
Linux系统编程教程之Linux线程函数的使用:讲解Linux线程函数
Linux系统编程教程之Linux线程函数的使用:讲解Linux线程函数
62 1
下一篇
无影云桌面