shell函数

shell函数

一、shell函数

【1】shell函数的格式

(1)定义一个函数

(2)全局声明函数

【2】递归函数

(1)定义

(2)特点

(3)举例说明

二、shell数组

【1】数组的作用

【2】定义数组

(1)数值类数组的定义

(2)字符串类型数组

(3)一般定义shell数组有四种写法:

【3】shell数组的长度

(1)数组元素、下标、长度之间的关系

(2)数组长度的应用

【4】冒泡排序法

【5】数组的切片、替换、删除

(1)数组的切片

(2)数组的替换

(3)数组的删除

一、shell函数

函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。

【1】shell函数的格式

(1)定义一个函数

Shell 函数返回值只能是整数,一般用来表示函数执行成功与否,0表示成功,其他值表示失败。

如果 return 其他数据,比如一个字符串,往往会得到错误提示:“需要数字参数”。

调用函数只需要给出函数名,不需要加括号。如下所示:

(2)全局声明函数

如果你希望直接从终端调用函数,可以将函数定义在主目录下的 .profile 文件,这样每次登录后,在命令提示符后面输入函数名字就可以立即调用

【2】递归函数

(1)定义

递归就是程序不断调用自身,递归方法就是方法直接或间接调用自身的方法。自己调用自己

(2)特点

1】反复执行的过程(调用自身)

2】结束反复执行过程的条件(方法跳出点)

(3)举例说明

写一个shell脚本,列举出/var/log/下所有的文件,使用层次性输出。

自定义递归函数,输出/var/log目录下的所有目录或文件

二、shell数组

bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。

数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念)。那么shell中数组是怎么定义的呢,我们来看两种数据类型:一是数值类型,二是字符串类型;虽然shell本身是弱类型的,但也可以这么区分。

【1】数组的作用

获取数组的长度

获取元素的长度

遍历元素

元素切片

元素替换

元素删除

【2】定义数组

(1)数值类数组的定义

在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:

(2)字符串类型数组

同样,使用一对括号表示数组,其中数组中的元素使用双引号或者单引号包含,同样使用“空格”来隔开:

(3)一般定义shell数组有四种写法:

【3】shell数组的长度

(1)数组元素、下标、长度之间的关系

(2)数组长度的应用

1】求出一个数组中的最大值

【4】冒泡排序

通俗一点来说就是要交换两个瓶子中的水,必须找一个空瓶子作为媒介,根据一定的条件就可以换过来。

举例说明

【5】数组的切片、替换、删除

定义一组数组

(1)数组的切片

(2)数组的替换

(3)数组的删除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值