Linux下的Shell基础——流程控制(三)

简介: Linux下的Shell基础——流程控制(三)

一、if 判断

(1)基本语法

       1)单分支

        2)多分支

注意事项:

       ①[ 条件判断式 ],中括号和条件判断式之间必须有空格

       ②if 后要有空格

(2)案例实操

输入一个数字,如果是 1,则输出 haha,如果是 2,则输出 hehe, 如果是其它,则输出wuwu

=

二、case语句

(1)基本语法

注意事项:

       (1)case 行尾必须为单词in,每一个模式匹配必须以右括号“)”结束。

       (2)双分号;;表示命令序列结束,相当于 java 中的 break。

       (3)最后的*)表示默认模式,相当于 java 中的 defaut

(2)案例实操

输入一个数字,如果是 1,则输出 haha,如果是 2,则输出 hehe,如果是其它,输出 wuwu

三、for循环

(1)基本语法 1

for (( 初始值;循环控制条件;变量变化 ))

do

        程序

done

(2)案例实操

       从 1 加到 10

(3)基本语法 2

for 变量 in 值 1 值 2 值 3…

do

       程序

done

(4)案例实操

(1)打印所有输入参数

(2)比较∗和*和@区别

∗和*和@都表示传递给函数或脚本的所有参数,不被双引号“”包含时,都以11 2 …$n 的形式输出所有参数。

四、while循环

(1)基本语法

       while [ 条件判断式 ]

        do

                程序

        done

(2)案例实操

       从 1 加到 100

五、read 读取控制台输入

(1)基本语法

       read (选项) (参数)

       ①选项:

               -p:指定读取值时的提示符;

               -t:指定读取值时等待的时间(秒)如果-t 不加表示一直等待

       ②参数变量:指定读取值的变量名

(2)案例实操

       提示 7 秒内,读取控制台输入的名称

六、函数

(1)系统函数

       basename

       (1)基本语法

                basename [string / pathname] [suffix] (功能描述:basename 命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。

              basename 可以理解为取路径里的文件名称

               选项:

               suffix 为后缀,如果 suffix 被指定了,basename 会将 pathname 或 string 中的suffix 去掉。

      (2)案例实操

       截取该~/shell/read_test.sh 路径的文件名称。

       

       dirname

       (1)基本语法

               dirname 文件绝对路径 (功能描述:从给定的包含绝对路径的文件名中去除文件名 (非目录的部分),然后返回剩下的路径(目录的部分))

               dirname 可以理解为取文件路径的绝对路径名称

       (2)案例实操

       获取 ~/shell/read_test.sh 文件的路

(2)自定义函数

       (1)基本语法

               [ function ] funname[()]

               {

                        Action; [return int;]

               }

      (2)经验技巧

               1)必须在调用函数地方之前,先声明函数,shell 脚本是逐行运行。不会像其它语言一 样先编译。

               2)函数返回值,只能通过$?系统变量获得,可以显示加:return 返回,如果不加,将 以最后一条命令运行结果,作为返回值。return 后跟数值 n(0-255)

       (3)案例实操

       计算两个输入参数的和。


目录
相关文章
|
24天前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
98 3
|
25天前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
48 4
|
2月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
132 25
|
2月前
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
49 18
|
3月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
4月前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
305 32
|
7月前
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
|
8月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
171 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
6月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
7月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
下一篇
oss创建bucket