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

  

函数的作用:

  1. 函数在 Shell 脚本中仅在当前Shell环境中有效;
  2. Shell 脚本中变量默认全局有效;
  3. 将变量限定在函数内部使用 local 命令。

例子:求和两个数字,并通过sum(){}定义函数 使用read命令交互输入两个数求和

函数的参数用法:

函数名称 参数1 参数2 参数3....

函数的表示:

$1 $2 $3...

  

函数的递归:调用自己本身的函数

递归目录:

递归阶乘:

  

shell脚本之循环语句与函数的更多相关文章

  1. Shell脚本中循环语句for,while,until用法

    循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...

  2. 自动化运维必须要学的Shell脚本之——循环语句(for、while和until循环)

    1. 循环前先了解echo的使用 1.1 echo -n 表示不换行输出 1.2 echo -e 输出转义字符,将转义后的内容输出到屏幕上 常见的转义字符有: 1.2.1 \b 相当于退格键 转义后相 ...

  3. shell脚本之循环语句 for-while-until

    目录: 一.for循环语句 二.while循环语句 三.unti循环语句   一.for循环语句 读取不同的变量值,用来逐个执行同一组命令 举例 批量添加用户◆ 用户名存放在users.txt文件中, ...

  4. shell编程之循环语句for / while / until

    shell编程之循环语句与函数 一.条件测试 二.循环语句 ① for循环语句结构(遍历) 示例1 示例2 ② while循环语句结构(迭代) 示例1 示例2 ③ until 循环语句结构 示例1 一 ...

  5. 03 shell编程之case语句与函数

    本文所有内容均来自当年博主当年学习笔记,若有不足欢迎指正 Shell编程之case语句与函数 学习目标: 掌握case语句编程 掌握shell函数的使用 目录结构: Case语句 Case语句的作用 ...

  6. 04 shell编程之循环语句

    Shell编程之循环语句 学习目标: 掌握for循环语句编程 掌握while循环语句编程 目录结构: For循环语句 l  读取不同的变量值,以逐个执行同一组命令 l  For语句结构 for 变量名 ...

  7. Linux Shell脚本编程while语句

    Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo    uptime    sleep 3done 2,把监控结果保存 ...

  8. shell 脚本之判断语句 if 详解

    使用 Linux 系统这么长时间,对 shell 脚本也算是比较熟悉.其实不管是搞开发,还是搞运维,shell 脚本都是必备的基本技能.这次抽时间好好总结一下 shell 方面的知识,综合的再学习一下 ...

  9. Shell脚本中使用function(函数)示例

    这篇文章主要介绍了Shell脚本中使用function(函数)示例,本文着重讲解的是如何在shell脚本中使用自定义函数,并给出了两个例子,需要的朋友可以参考下   函数可以在shell script ...

随机推荐

  1. VNC的安装和使用

    说明 VNC (Virtual Network Console)是虚拟网络控制台的缩写.它是能远程连入Linux进行图形化操作. VNC百度百科介绍:https://baike.baidu.com/i ...

  2. java 短路与(||)时报错The operator || is undefined for the argument type(s) int, boolean

    今天在使用短路与时,报错The operator || is undefined for the argument type(s) int, boolean 代码如下: 最后发现是少了一个=,比较要使 ...

  3. Jupyter常用配置

    一  安装 pip install --upgrade jupyterthemes 二 设置主题 #查看主题列表 jt -l #设置主题并打开工具栏 jt -t chesterish -T 三 设置列 ...

  4. js字符串首字母大写的不同写法

    写法一: let name = 'hello' name.charAt(0).toUpperCase() + name.slice(1) 写法二: let name = 'hello' name.sl ...

  5. FIS Issue 标记

    -----已知 [pack问题]忽视<!--[if lt IE 9]>进行合并 https://github.com/fex-team/fis/issues/253 关于增加md5戳以后文 ...

  6. Texture+PBR两种工作流程

    一.导入Texture 1.Inpspector TextureSize 2的n次幂,底层图形学需要,计算更快:不使用2的倍数,系统也会添加像素补全2n: 有最大尺寸限制8k,cubemap最高4k: ...

  7. vant引入及配置

    1. vant 官网 https://youzan.github.io/vant/#/zh-CN/quickstart 2. 通 npm 安装 npm i vant -S 3.安装 babel-plu ...

  8. SQL安全执行

    begin tran begin -----------执行SQL开始----------------- update Audioset Name =3 -----------执行SQL结束----- ...

  9. 学习axios必知必会(1)~axios基本介绍、axios配置、json-server接口模拟工具

    一.axios基本介绍 1.axios(前端最流行的 ajax 请求库) 特点: ① 基于 xhr + promise 的异步 ajax 请求库 ② 浏览器端/node 端都可以使用 ③ 支持请求/响 ...

  10. python采用json.dump和json.load存储数据

    #!/usr/bin/python # -*- coding: UTF-8 -*- import json numbers = [2,3,4,7,11,13] filename = 'numbers. ...