Bash 条件判断与流程控制相关语句详解
时间:2022-04-29
本文章向大家介绍Bash 条件判断与流程控制相关语句详解,主要内容包括条件判断语句、数值的判断、文件相关的判断语句、逻辑判断、if、case、for、for in、while、until、参考链接、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
介绍 if case 等语句。
条件判断语句
字符串判断
str1 = str2 当两个字符串有相同内容、长度时为真
str1 != str2 当字符串 str1 和 str2 不等时为真
-n str1 当字符串的长度大于 0 时为真(串非空)
-z str1 当字符串的长度为 0 时为真(空串)
str1 当字符串 str1 为非空时为真
数值的判断
int1 -eq int2 两数相等为真
int1 -ne int2 两数不等为真
int1 -gt int2 int1 大于 int2 为真
int1 -ge int2 int1 大于等于 int2 为真
int1 -lt int2 int1 小于 int2 为真
int1 -le int2 int1 小于等于 int2 为真
文件相关的判断语句
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为普通文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非 0 时为真
-t file 当文件描述符(默认为 1 )指定的设备为终端时为真
逻辑判断
-a 与
-o 或
! 非
if
基本结构
if [ 条件判断 ]; then
do something here
elif [ 条件判断 ]; then
do another thing here
else
do something else here
fi
或者
if [ 条件判断 ]
then
Command
else
Command
fi
举例如下
# 获取操作系统类型
SYSTEM=`uname -s`
# [] 内两边必须有空格
# if 与 then 在同一行,判断语句后加上 ;
if [ $SYSTEM = "Linux" ];then
echo "Linux"
else
echo "OS is not Linuix"
fi
# 写在一行
if [ $SYSTEM = "Linux" ];then echo "Linux"; else echo "OS is not Linuix"; fi
也可以写成
SYSTEM=`uname -s`
if [ $SYSTEM = "Linux" ]
then
echo "Linux"
else
echo "OS is not Linuix"
fi
case
基本结构
case $1 in
模式1 )
命令序列1
;;
模式2 )
命令序列2
;;
* )
默认执行的命令序列
;;
esac
for
for (( i = 0; i < 10; i++ )); do
#statements
done
for in
for arg in "$@"
do
echo $arg
done
while
while [[ condition ]]; do
#statements
done
until
until [[ condition ]]; do
#statements
done
参考链接
- 利用Crypto++实现RSA加密算法
- 重学javascript 红皮高程(6)
- WriteUp分享 | LCTF的一道preg_match绕过+出题人的锅
- 利用crypto++库实现AES加密算法
- Android之倒计时CountdownTimer用法
- WriteUp分享 | LCTF的一道padding oracle攻击+sprintf格式化字符串导致的SQL注入
- 10.27 target介绍
- Android 之游戏开发流程
- shell脚本后台运行
- Android的.so文件你需要知道那些知识
- xshel配色方案
- cocos2dx-v3.5 2048 (一): 项目架构
- cocos2dx-v3.5 2048 (二): GameTool的设计与实现
- cocos2dx-v3.5 2048(三):菜单实现
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- nodejs中post请求方式,req.body接值为空如何解决
- Kotlin使用静态变量与静态方法详解
- Android通过代码控制ListView上下滚动的方法
- Android为Tiny4412设备驱动在proc目录下添加一个可读版本信息的文件
- Android Studio 4.1 发布啦
- Spring Boot 2.4 配置文件将加载机制大变化
- 「性能提升」扩展 Spring Cache 支持多级缓存
- OAuth 2.0 单元测试解决方案
- 聊一聊如何搭建高性能网站哪一些事
- Spring Cloud netflix ribbon源码分析
- 抽奖摇号系统随机性算法介绍
- 翻了翻element-ui源码,发现一个很实用的指令clickoutside
- 自研网关:限流功能的开发
- 如果JSP中无法自动提示EL表达式的解决方法(针对普通项目和maven有不同的方法)
- Android通过ExifInterface判断Camera图片方向的方法