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 ...
随机推荐
- Docker | dockerfile 文件编写
dockerfile 的作用 dockerfile 作用就是制作镜像,保持开发,测试,生产环境的一致性. 直接将容器制作为镜像 制作新的镜像 # 把容器按照自己的需求个性完之后,就可以创建自己的镜像的 ...
- Git 标签使用详解
列出标签 # 默认按字母排序显示 $ git tag # 模糊匹配查找标签 $ git tag -l "v1.8.5*" 创建标签 # 创建附注标签 $ git tag -a v1 ...
- CF612E Square Root of Permutation
题目分析 我们首先模拟一下题意 假设有一个 \(q _1\) \(p\) \(a_1\) \(a_x\) \(a_{a_1}\) \(a_{a_x}\) \(q\) \(x\) \(a_1\) \(a ...
- Linux中ssh登陆慢的两种原因
useDNS配置导致登陆慢 如果ssh server的配置文件(通常是 /etc/ssh/sshd_config )中设置 useDNS yes ,可能会导致 ssh 登陆卡住几十秒.将该配置项设为 ...
- linux安装mysql以及使用navicat连接mysql
一.下载mysql 1.获取下载链接 进入官网:https://www.mysql.com 点击downloads --> MySQL Community (GPL) Downloads -- ...
- 关于Mysql的Qcache优化
query_cache_size = 64M 指定MySQL查询缓冲区的大小.可以通过在MySQL控制台执行以下命令观察:# > SHOW VARIABLES LIKE '%query_cach ...
- Docker 安装mysql主从
安装docker 1.yum -y install docker 2.查看是否安装成功 docker -v 3.接着将docker后台启动 systemctl start docker.service ...
- Vulnhub - THE PLANETS: EARTH
环境配置 从www.vulnhub.com下载靶机,在VMware中导入,自动分配IP 主机发现 通过对内网主机的扫描,VMware为目标主机 端口扫描 使用nmap对主机进行扫描 发现443端口信息 ...
- [SWPUCTF 2018]SimplePHP
[SWPUCTF 2018]SimplePHP 知识点 1.PHP反序列化入门之phar 2.反序列化魔术方法 __construct()//当一个对象创建时被调用 __destruct() //当一 ...
- golang中http编程
1. http server package main import ( "fmt" "net/http" ) func main() { // 请求url和对 ...