热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Shell脚本学习(二):条件语句与循环语句

Shell脚本学习(二):条件语句与循环语句一、条件语句首先,说到条件语句,就不得不先说下条件表达式的判断,那么shell中的条件表达式都有哪几种呢,这里可以分为三种:1.字符串的判断等于则为真。

Shell脚本学习(二):条件语句与循环语句

一、条件语句

首先,说到条件语句,就不得不先说下条件表达式的判断,那么shell中的条件表达式都有哪几种呢,这里可以分为三种:

1.字符串的判断

等于则为真。

!= 不相等则为真。

-z字串 字串长度伪则为真。

-n字串 字串长度不伪则为真。

2.整数的判断

-eq 等于则为真。

-ne 不等于则为真。

-gt 大于则为真。

-ge 大于等于则为真。

-lt 小于则为真。

-le 小于等于则为真。

3.文件的判断

-e文件名 如果文件存在则为真。

-r文件名 如果文件存在且可读则为真。

-w文件名 如果文件存在且可写则为真。

-x文件名 如果文件存在且可执行则为真。

-s文件名 如果文件存在且至少有一个字符则为真。

-d文件名 如果文件存在且为目录则为真。

-f文件名 如果文件存在且为普通文件则为真。

-c文件名 如果文件存在且为字符型特殊文件则为真。

-b文件名 如果文件存在且为块特殊文件则为真。

另外值得注意的是,Linux还提供了与(!)、或(-o)、非(-a)三个逻辑操作符,用于将测试条件连接起来,其优先顺序为:!最高,-a次之,-o最低。

上面说了条件表达式的判断,那下面就说有哪些条件表达式吧,以及用法。

1> if条件语句

shell程序中的两路条件分支是通过if条件语句来实现的,例:

if [ 条件表达式 ]; then 

条件为真时执行

fi

或者

if [ 条件表达式 ]; then 

条件为真时执行

else

条件为假时执行

fi

2> case多路分支语句

多路分支语句case用于多重条件测试,还是直接举例:

case $1 in

file 1)

echo “file 1.......”

;;

file 2)

echo “file 2.......”

;;

*)

echo “select file1 or file2”

;;

esac

二、循环语句

1> for循环,例:

for i in 1 2 3 4

do

echo $i

done

2> while循环,例:

while 条件表达式

do

执行语句

done

3> until循环,与while差不多,例:

until 条件表达式

do

执行语句

done

Linux shell在循环控制语句中也有continuebreak,用法跟C中相同。

好了,linux shell脚本中的条件控制与循环控制差不多就这些了,共同学习。


推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • RobotFramework之资源文件资源文件导入资源文件资源文件与用例前置、后置结合使用资源文件资源(Resource):用户关键字的 ... [详细]
  • 本文详细介绍了如何在Linux系统中使用nslookup命令查询DNS服务器地址,这对于Linux服务器的运维管理是非常重要的基础知识。 ... [详细]
  • Linux中tput命令怎么用
    这篇文章主要介绍Linux中tput命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux常用命令tput命令将通过ter ... [详细]
  • RHEL 8 中的设备分区管理指南
    本文详细介绍了在 RHEL 8 系统中如何管理和操作设备分区,包括查看设备信息、挂载和卸载设备、分区管理以及配置文件系统的自动挂载。 ... [详细]
  • 最近遇到了一道关于哈夫曼树的编程题目,需要在下午之前完成。题目要求设计一个哈夫曼编码和解码系统,能够反复显示和处理多个项目,直到用户选择退出。希望各位大神能够提供帮助。 ... [详细]
  • C语言是计算机科学和编程领域的基石,许多初学者在学习过程中会感到困惑。本文将详细介绍C语言的基本概念、关键语法和实用示例,帮助你快速上手C语言。 ... [详细]
  • Ubuntu 22.04 安装搜狗输入法详细指南及常见问题解决方案
    本文将详细介绍如何在 Ubuntu 22.04 上安装搜狗输入法,并提供常见问题的解决方法。包括下载安装包、更新源、安装依赖项等步骤。 ... [详细]
  • 本文详细解析了 Git diff 命令的输出结果,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • Linux下MySQL 8.0.28安装指南
    本文详细介绍了在Linux系统上安装MySQL 8.0.28的步骤,包括下载数据库、解压数据包、安装必要组件和启动MySQL服务。 ... [详细]
  • 本文介绍了 Linux 系统中用于定期执行任务的 cron 服务及其配置方法。通过 crond 和 crontab 命令,用户可以轻松地安排系统和用户级别的周期性任务。 ... [详细]
  • 图数据库与传统数仓实现联邦查询使用CYPHER实现从关系数据库过滤时间序列指标一、MySQL得到研报实体在Oracle中的唯一ID二、Oracle中过滤时间序列数据三、CYPHER ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
author-avatar
娟紫恋蓝_610
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有