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)案例实操

       计算两个输入参数的和。


目录
相关文章
|
9天前
|
JavaScript 关系型数据库 Shell
Linux shell编写技巧之随机取字符串(一)
本文介绍了Linux Shell脚本的编写技巧,包括环境配置、变量命名规则和缩进语法,并提供了一个实例练习,展示如何使用`$RANDOM`变量和`md5sum`命令来生成随机的8位字符串。
26 4
|
9天前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
14 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
10天前
|
监控 Shell Linux
在Linux中,如何使用shell脚本进行系统监控和报告?
在Linux中,如何使用shell脚本进行系统监控和报告?
|
8天前
|
监控 Shell Linux
在Linux中,如何使用shell脚本检测磁盘使用率?
在Linux中,如何使用shell脚本检测磁盘使用率?
|
8天前
|
Shell Linux 开发工具
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
|
8天前
|
网络协议 Linux 网络安全
在Linux中,我们都知道FTP协议有两种工作模式,它们的大概的⼀个工作流程是怎样的?
在Linux中,我们都知道FTP协议有两种工作模式,它们的大概的⼀个工作流程是怎样的?
|
8天前
|
缓存 网络协议 Linux
在Linux中,当用户在浏览器当中输入⼀个网站,计算机对dns解释经过那些流程?
在Linux中,当用户在浏览器当中输入⼀个网站,计算机对dns解释经过那些流程?
|
8天前
|
缓存 Shell Linux
在Linux中,bash shell 中的 hash 命令有什么作用?
在Linux中,bash shell 中的 hash 命令有什么作用?
|
9天前
|
Unix Shell Linux
在Linux中,什么是Shell脚本,并且如何编写它。
在Linux中,什么是Shell脚本,并且如何编写它。
|
10天前
|
监控 Shell Linux
在Linux中,什么是Linux shell?
在Linux中,什么是Linux shell?
下一篇
云函数