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

       计算两个输入参数的和。


目录
相关文章
|
5天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
22天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 显示当前登录到系统的用户信息 who命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示当前登录到系统的用户信息 who命令 使用指南
42 1
|
6天前
|
Shell Linux
【Linux】12. 模拟实现shell
【Linux】12. 模拟实现shell
25 2
|
19天前
|
存储 算法 Shell
【Linux 环境变量相关】深入理解Linux下 CMake、Shell 与环境变量的交互(二)
【Linux 环境变量相关】深入理解Linux下 CMake、Shell 与环境变量的交互
42 0
|
19天前
|
Shell Linux 开发工具
shell的介绍以及Linux权限的讲解
shell的介绍以及Linux权限的讲解
29 2
|
22天前
|
网络协议 Shell Linux
【Shell 命令集合 系统管理 】Linux 查询域名的注册信息 whois命令 使用指南
【Shell 命令集合 系统管理 】Linux 查询域名的注册信息 whois命令 使用指南
44 1
|
22天前
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 显示当前登录用户的用户 whoami命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示当前登录用户的用户 whoami命令 使用指南
38 1
|
2月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
53 0
|
3月前
|
Shell Linux C++
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
34 0
|
4月前
|
运维 Shell Linux
Linux 之大数据定制篇-Shell 编程
Linux 之大数据定制篇-Shell 编程
120 0