Blog.038 Shell 编程 循环语句与函数
时间:2021-07-12
本文章向大家介绍Blog.038 Shell 编程 循环语句与函数,主要包括Blog.038 Shell 编程 循环语句与函数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本章目录
1. 循环语句
1.1 for 循环语句
1.2 while 循环语句
1.3 until 循环语句
2. Shell 函数
2.1 应用示例
2.2 函数的作用范围
2.3 函数的参数
2.4 递归函数
3. Shell 数组
3.1 数组定义方法
3.2 操作示例
4. Shell 脚本正确性测试
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。
循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。
循环语句是由循环体及循环的终止条件两部分组成的。
- 读取不同的变量值,用来逐个执行同一组命令。
- 结构:
例:
- 批量添加用户;
- 用户名存在user.txt中,每行一个;
- 初始密码均设为123456;
- 验证脚本。
- 重复测试某个条件,只要条件成立则反复执行。
- 结构:
例:
- 批量添加用户;
- 用户名称以 stu 开头,按数字顺序进行编号;
- 一个添加 5 个账户,即 stu1、stu2、…stu5;
- 初始密码均设为 123456。
- 重复测试某个条件,只要条件不成立则反复执行。
- 格式:
例:
- 计算 1~50 的和值;
- 通过循环累加的方式计算 1~50 的和值。
- 将命令序列按格式写在一起。
- 可方便重复使用命令序列;
- Shell函数定义:
【 function 】 函数名(){
命令序列
【return x】
}
- 调用函数的方法:
函数名 【函数1】【函数2】
例:
- 两个数字求和;
- 通过sum() {}定义函数;
- 使用read命令交互输入两个数并求和。
- 函数在 Shell 脚本中仅在当前Shell环境中有效;
- Shell 脚本中变量默认全局有效;
- 将变量限定在函数内部使用 local 命令。
- 参数的用法:
函数名称 参数1 参数2 参数3 …
- 参数的表示方法:
$1 $2 … ${10} ${11}
- 调用自己本身的函数。
例:
- 递归遍历记录;
- 通过定义递归函数 list_files 来实现。
- 数组包括的数据类型:
数值类型;
字符类型;
使用 " " 或 ' ' 定义。
- ①:
数组名=(vlaue0 vlaue1 vlaue2 …)
- ②:
数组名=([0]=vlaue [1]=vlaue [2]=vlaue …)
- ③:
列表名=“value0 value1 value2 …”
数组名=($列表名)
- ④:
数组名[0]=“value”
数组名[1]=“value”
数组名[2]=“value”
…
例:
- 获取数组长度
- 读取某下标赋值
- 数组遍历
- 数组切片
- 数组替换
- 数组删除
- -n:不会执行该脚本,仅查询本语法是否有问题,如果没有语法问题就不显示任何内容,如果有问题会提示报错。
- -v:在执行脚本时,先将脚本的内容输出到屏幕上然后执行脚本,如果有错误,也会给出错误提示。
- -x:将执行的脚本内容输出到屏幕上,这个是对调试很有用的参数。
-
原文地址:https://www.cnblogs.com/cityfell/p/14991004.html
- 使用VS Code开发asp.net core
- 以太坊·将自定义数据写入到区块链中
- 使用TensorFlow实现股票价格预测深度学习模型
- 06-移动端开发教程-fullpage框架
- 07-移动端开发教程-移动端视口
- 10-移动端开发教程-移动端事件
- 08-移动端开发教程-移动端适配方案
- 09-移动端开发教程-Sass入门
- 开发者的如何优雅的使用OSX
- Solidity 智能合约开发语言·数据类型
- 以太坊·Rinkeby 测试网络
- TensorFlow强化学习入门(0)——Q-Learning的查找表实现和神经网络实现
- 【云端架构】网站运维之CDN链接鉴权示例入门(PHP)
- 以太坊·单机多实例演示
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法