shell脚本之循环语句与函数
shell脚本之循环语句与函数
echo的用法:
echo -n
#表示不换行输出 echo -e
#输出转义字符,将转义后的内容输出到屏幕上
转义字符:
\n :换行,被输出的字符从"\n"处开始另起一行
\t :转以后表示插入tab,即横向制表符
\r :光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时,
"\r"前面的字符不会被覆盖
1、for循环
for循环经常使用在已经知道要进行多少次循环的场景
读取不同的变量值,用来逐个执行同一组命令
语法:
for 变量名 in 取值列表
do
命令序列
done
2、while循环
重复测试某个条件,只要条件成立则反复执行
语法:
while [ 条件测试操作 ]
do 命令序列
done
例子:猜数字
3、until循环
重复测试某个条件,只要条件不成立则反复执行
语法:
unit 条件测试操作
do 命令序列
done
例子:求和1到10
4、多重循环
在循环内部再使用一个循环称为嵌套循环
当满足条件的情况下break会跳出当前循环体,
当满足条件的情况下exit会直接退出当前脚本,
continue中止某次循环中的命令,但不会完全中止整个命令
5、shell函数
将命令序列按格式写在一起,可方便重复使用命令序列
格式:
function 函数名 {
命令序列
}
函数名() {
命令序列
}
调用函数:
函数名 【函数1】【函数2】
return表示退出函数并返回一个退出值,脚本中可以用 $?变量显示该值
使用原则:
函数一-结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码
退出状态码必须是0~255,超出时值将为除以256取余
函数的传参:
#!/bin/bash sum1() {
sum=$[$1 + $2]
echo $sum
}
read -p "输入第一个参数: " first
read -p "输入第二个参数: " second
sum1 $first $second
res= $(sum1)
echo $res sum2() {
sum=$[$1 + $2]
echo $ sum
}
sum2 $1 $2
函数的作用:
- 函数在 Shell 脚本中仅在当前Shell环境中有效;
- Shell 脚本中变量默认全局有效;
- 将变量限定在函数内部使用 local 命令。
例子:求和两个数字,并通过sum(){}定义函数 使用read命令交互输入两个数求和
函数的参数用法:
函数名称 参数1 参数2 参数3....
函数的表示:
$1 $2 $3...
函数的递归:调用自己本身的函数
递归目录:
递归阶乘:
shell脚本之循环语句与函数的更多相关文章
- Shell脚本中循环语句for,while,until用法
循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...
- 自动化运维必须要学的Shell脚本之——循环语句(for、while和until循环)
1. 循环前先了解echo的使用 1.1 echo -n 表示不换行输出 1.2 echo -e 输出转义字符,将转义后的内容输出到屏幕上 常见的转义字符有: 1.2.1 \b 相当于退格键 转义后相 ...
- shell脚本之循环语句 for-while-until
目录: 一.for循环语句 二.while循环语句 三.unti循环语句 一.for循环语句 读取不同的变量值,用来逐个执行同一组命令 举例 批量添加用户◆ 用户名存放在users.txt文件中, ...
- shell编程之循环语句for / while / until
shell编程之循环语句与函数 一.条件测试 二.循环语句 ① for循环语句结构(遍历) 示例1 示例2 ② while循环语句结构(迭代) 示例1 示例2 ③ until 循环语句结构 示例1 一 ...
- 03 shell编程之case语句与函数
本文所有内容均来自当年博主当年学习笔记,若有不足欢迎指正 Shell编程之case语句与函数 学习目标: 掌握case语句编程 掌握shell函数的使用 目录结构: Case语句 Case语句的作用 ...
- 04 shell编程之循环语句
Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l 读取不同的变量值,以逐个执行同一组命令 l For语句结构 for 变量名 ...
- Linux Shell脚本编程while语句
Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo uptime sleep 3done 2,把监控结果保存 ...
- shell 脚本之判断语句 if 详解
使用 Linux 系统这么长时间,对 shell 脚本也算是比较熟悉.其实不管是搞开发,还是搞运维,shell 脚本都是必备的基本技能.这次抽时间好好总结一下 shell 方面的知识,综合的再学习一下 ...
- Shell脚本中使用function(函数)示例
这篇文章主要介绍了Shell脚本中使用function(函数)示例,本文着重讲解的是如何在shell脚本中使用自定义函数,并给出了两个例子,需要的朋友可以参考下 函数可以在shell script ...
随机推荐
- 龙芯发布.NET 6.0.100开发者试用版
龙芯在龙芯开源社区发布了LoongArch64-.NET-SDK-6.0.100开发者试用版 新闻 ,龙芯.NET基于上游社区 版本 适配支持龙芯平台架构. 目前支持LoongArch64架构和MIP ...
- CentOS 系统 查看 cpu核数
转载自 :Centos下查看cpu核数 - 韩憨 - 博客园 (cnblogs.com) 1.概念物理CPU:实际Server中插槽上的CPU个数.物理cpu数量:可以数不重复的 physical i ...
- Powershell 【控制台常用方法】
1 function Pause(){ 2 [System.Console]::Write('按任意键继续...') 3 [void][System.Console]::ReadKey(1) 4 } ...
- Echart可视化学习集合
一.基本介绍:ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.ECharts最初由百度团队开源,并于2018年初捐赠给Apache ...
- VUE3 之 表单元素
1. 概述 老话说的好:行动起来,原地观望是没有用的. 言归正传,今天我们来聊聊 VUE3 的 表单元素. 2. 表单元素 2.1 文本框与数据绑定 <body> <div id=& ...
- day 14 C语言strcmp()函数:比较两个字符串
(1).下列关于C语言文件的叙述中正确的是[C] (A).文件由一系列数据依次排列组成,只能构成二进制文件 (B).文件由结结构序列组成,可以构成二进制文件或文本文件 (C).文件由数据序列组成,可以 ...
- 记一次oom问题排查
大家好,我是大彬~ 今天给大家分享最近出现的OOM问题. 上周五早上,测试同学反馈测试环境的子系统服务一直超时,请求没有响应. 收到这个问题之后,我有点纳闷,最近这个系统也没有改动代码逻辑,怎么会突然 ...
- Winfrom统一单例窗口
//调用方式 var frm = new MyForm().Instance(); public static class ExFrm { static Dictionary<string, F ...
- 2月2日 体温APP开发记录
1.阅读构建之法 现代软件工程(第三版) 2.观看Android开发视频教程最新版 Android Studio开发 3.Edit text使用学习
- 【刷题-LeetCode】213. House Robber II
House Robber II You are a professional robber planning to rob houses along a street. Each house has ...