【Shell】算术运算符、流程控制、函数使用、数组以及加载其它文件的变量(二)

简介: 【Shell】算术运算符、流程控制、函数使用、数组以及加载其它文件的变量

2 传递参数给函数


Shell中,调用函数时可以向其传递参数。在函数体内部,通过 的 形 式 来 获 取 参 数 的 值 , 例 如 , 1表示第一个参数,$2表示第二个参数...

带参数的函数示例:

image.png

输出结果:

image.png

注意, 不 能 获 取 第 十 个 参 数 , 获 取 第 十 个 参 数 需 要 {10}。当n>=10时,需要使用${n}来获取参数。

另外,还有几个特殊字符用来处理参数:

image.png

1.9 数组


1 定义数组


数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(。与大部分编程语言类似,数组元素的下标由0开始。

Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:

array_name=(value1 value2 value3 ... valuen)

1.1 实例

image.png

读取数组元素值的一般格式是:

2.1 实例


image.png

image.png

2.2 获取数组中的所有元素


使用@ * 可以获取数组中的所有元素,例如:

image.png

执行脚本,输出结果如下所示:

image.png

2.3 获取数组的长度


获取数组长度的方法与获取字符串长度的方法相同,例如:

image.png

image.png

3 遍历数组


3.1 方式一


image.png

3.2 方式二


image.png

1.10 加载其它文件的变量


image.png

1 简介


和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。

Shell 文件包含的语法格式如下:

2 练习


定义两个文件 test1.sh 和 test2.sh ,在 test1 中定义一个变量 arr=(java c++ shell), 在 test2 中对 arr 进行循环打印输出。

第一步: vim test1.sh

image.png

第二步: vim test2.sh


image.png

第三步: 执行 test2.sh


image.png

好处:

1. 数据源 和 业务处理 分离

2. 复用 代码扩展性更强

相关文章
|
2月前
|
Shell
Shell 文件包含
10月更文挑战第5天
39 4
|
3月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
2月前
|
存储 Shell
Shell 数组
【10月更文挑战第16天】
35 3
|
2月前
|
Shell Linux C语言
Shell 函数
10月更文挑战第4天
27 7
|
2月前
|
Java Shell 网络安全
Shell 流程控制
10月更文挑战第4天
42 2
|
2月前
|
Shell PHP 索引
Shell 数组
10月更文挑战第2天
28 1
|
2月前
|
存储 Java Shell
Shell 变量
10月更文挑战第2天
30 0
|
3月前
|
Shell
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
3月前
|
Java Shell Linux
Shell 变量设置
Shell设置变量
55 5
|
4月前
|
Shell KVM 虚拟化
Shell 数组编程
【8月更文挑战第22天】 Shell 数组编程
55 10