文章目录
1.6 Shell算术运算符
1 简介
2 例子
1.7流程控制
1 if else
关系运算符
2 for 循环
3 while 语句
4 无限循环
5 case(switch)
6 跳出循环
1.8 函数利用
1 函数的快速入门
2 转达参数给函数
1.9 数组
1 界说数组
2 读取数组
3 遍历数组
1.10 加载其它文件的变量
1 简介
2 训练
1.6 Shell算术运算符
1 简介
Shell 和其他编程一样, 支持 包括:算术、关系、布尔、字符串等运算符。 原生 bash 不支持 简朴的数学运算,但是可以通过其他命令来实现,比方 expr 。 expr 是一款表达式计算工具,利用它能完成表达式的求值操纵。 比方,两个数相加: 注意: 表达式和运算符之间要有空格 ,比方 2+2 是不对的,必须写成 2 + 2 。 完整的表达式要被 ` 包含,注意不是单引号,在 Esc 键下边。 下表列出了常用的算术运算符,假定变量 a 为 10 ,变量 b 为 20: 注意: 条件表达式要放在方括号之间,而且要有空格,比方 : [$a==$b] 是错误的,必须写成 [ $a == $b ] 。 2 例子
1.7流程控制
1 if else
1.1 if if 语句语法格式: demo
末端的 fifi 就是 if 倒过来拼写,后面还会遇到类似的。 1.2 if else if else 语法格式: 1.3 if else-if else if else-if else 语法格式: 以下实例判断两个变量是否相称:
关系运算符
关系运算符只支持数字,不支持字符串,除非字符串的值是数字。 下表列出了常用的关系运算符,假定变量 a 为 10 ,变量 b 为 20 : 案例:
2 for 循环
2.1 格式
2.2 随堂训练
代码如下:
3 while 语句
while 循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式 为: 需求: 计算 1~100 的和
运行脚本,输出:
利用中利用了 Bash let 命令,它用于执行一个或多个表达式,变量计算中不需要加上 $ 来表现变量, 具体可查阅: Bash let 命令 。 4 无限循环
无限循环语法格式:
5 case(switch)
Shell case 语句为多选择语句。可以用 case 语句匹配一个值与一个模式,如果匹配成功,执行相匹配的 命令。 case 语句格式如下: case 工作方式如上所示。取值后面必须为单词 in ,每一模式必须以右括号结束。取值可以为变量或常 数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;; 。 取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果 无一匹配模式,利用星号 * 捕获该值,再执行后面的命令。 下面的脚本提示输入 1 到 4 ,与每一种模式进行匹配: 输入不同的内容,会有不同的效果,比方:
6 跳出循环
在循环过程中,偶然候需要在未达到循环结束条件时逼迫跳出循环, Shell 利用两个命令来实现该功能: break 和 continue 。 6.1 break 命令 break 命令允许跳出所有循环(终止执行后面的所有循环)。
6.2 continue continue 命令与 break 命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。
1.8 函数利用
1 函数的快速入门
格式
可以带 function fun() 界说,也可以直接 fun() 界说 , 不带任何参数。 参数返回,可以显示加: return 返回,如果不加,将以末了一条命令运行效果,作为返回 值。 return 后跟数值 n(0-255) 快速入门 2 转达参数给函数
在 Shell 中,调用函数时可以向其转达参数。在函数体内部,通过 的 形 式 来 获 取 参 数 的 值 , 例 如 , 1 表现 第一个参数, $2 表现第二个参数 ... 带参数的函数示例: 输出效果:
注意, 不 能 获 取 第 十 个 参 数 , 获 取 第 十 个 参 数 需 要 {10} 。当 n>=10 时,需要利用 ${n} 来获取参数。 另外,另有几个特别字符用来处理参数: 1.9 数组
1 界说数组
数组中可以存放多个值。 Bash Shell 只支持一维数组 (不支持多维数组),初始化时不需要界说数组大 小(。 与大部分编程语言类似,数组元素的下标由 0 开始。 Shell 数组用括号来表现,元素用 " 空格 " 符号分割开,语法格式如下: array_name=(value1 value2 value3 ... valuen) 1.1 实例 读取数组元素值的一样平常格式是:
2.1 实例
执行脚本,输出效果如下所示:
2.2 获取数组中的所有元素 利用 @ 或 * 可以获取数组中的所有元素,比方: 执行脚本,输出效果如下所示:
2.3 获取数组的长度 获取数组长度的方法与获取字符串长度的方法类似,比方: 执行脚本,输出效果如下所示:
3 遍历数组
3.1 方式一
3.2 方式二
1.10 加载其它文件的变量
1 简介
和其他语言一样, Shell 也可以包含外部脚本。如许可以很方便的封装一些公用的代码作为一个独立的 文件。 Shell 文件包含的语法格式如下:
2 训练
界说两个文件 test1.sh 和 test2.sh ,在 test1 中界说一个变量 arr=(java c++ shell), 在 test2 中对 arr 进行循 环打印输出。 第一步: vim test1.sh 第二步: vim test2.sh
第三步: 执行 test2.sh
利益 : 1. 数据源 和 业务处理 分离 2. 复用 代码扩展性更强
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |