【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. 复用 代码扩展性更强

相关文章
|
27天前
|
Shell Linux API
【Shell 命令集合 备份压缩 】Linux 解压缩文件 unzip命令 使用指南
【Shell 命令集合 备份压缩 】Linux 解压缩文件 unzip命令 使用指南
49 0
|
27天前
|
Shell Linux C语言
【Shell 命令集合 备份压缩 】Linux 归档和解档文件 cpio命令 使用指南
【Shell 命令集合 备份压缩 】Linux 归档和解档文件 cpio命令 使用指南
38 0
|
27天前
|
算法 Linux Shell
【Shell 命令集合 备份压缩 】Linux 压缩.Z文件 compress命令 使用指南
【Shell 命令集合 备份压缩 】Linux 压缩.Z文件 compress命令 使用指南
32 0
|
27天前
|
Shell Linux C语言
【Shell 命令集合 设备管理 】Linux 创建设备文件 MAKEDEV命令 使用指南
【Shell 命令集合 设备管理 】Linux 创建设备文件 MAKEDEV命令 使用指南
33 0
|
27天前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 创建Kickstart文件mkkickstart命令 使用指南
【Shell 命令集合 系统设置 】Linux 创建Kickstart文件mkkickstart命令 使用指南
31 0
|
27天前
|
存储 Shell Linux
【Shell 命令集合 备份压缩 】Linux 解码uuencode编码的文件 uudecode 命令 使用指南
【Shell 命令集合 备份压缩 】Linux 解码uuencode编码的文件 uudecode 命令 使用指南
29 0
|
27天前
|
安全 Shell Linux
【Shell 命令集合 备份压缩 】Linux将可执行文件压缩成gzip格式 gzexe命令 使用指南
【Shell 命令集合 备份压缩 】Linux将可执行文件压缩成gzip格式 gzexe命令 使用指南
35 0
|
27天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
48 0
|
27天前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】⭐Linux 卸载已加载的内核模块rmmod命令 使用指南
【Shell 命令集合 系统设置 】⭐Linux 卸载已加载的内核模块rmmod命令 使用指南
29 1
|
27天前
|
存储 Shell Linux
【Shell 命令集合 备份压缩 】Linux 恢复由dump命令创建的备份文件 restore命令 使用指南
【Shell 命令集合 备份压缩 】Linux 恢复由dump命令创建的备份文件 restore命令 使用指南
31 0