shell函数与数组

一、shell函数

1.什么是shell函数

将命令序列按格式写在一起
可方便重复使用命令序列

2.格式

  function 函数名{
 命令序列
 }
或
函数名() {
 命令序列
}

3.函数返回值

return表示退出函数并返回一个退出值,脚本中可以用$?变量显示该值使用原则:

1、函数一结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码

2、退出状态码必须是0~255,超出时值将为除以256取余

4.函数变量的作用范围

函数在shell脚本中仅在当前shell环境中有效

Shell脚本中变量默认全局有效

将变量限定在函数内部使用local命令

5.递归

函数调用自己本身的函数

6.递归目录

示例:
mkdir -p /root/bin/aa/bb/cc/dd ; touch /root/bin/aa/bb/cc/dd/abc.txt,输出环境变量PATH所包含的所有目录以及其中的子目录和所有不可执行文件
在这里插入图片描述
在这里插入图片描述

二、数组

1.应用场景

1.应用场景包长度

2.获取数组长度

3.获取元素长度

4.遍历元素

5.元素切片

6.元素替换

7.元素删除

2.定义数组

2.1方法1

数组名=(值0 值1 值2 …)
中间以空格间隔,如果值为符号內型需加单引号或双引号

在这里插入图片描述

2.2方法2

数组名= ($列表变量)
在这里插入图片描述

2.3方法3

数组名=([n]=值1 …)
以空格间隔,n代表元素的下标,第一元素的下标从0开始
在这里插入图片描述

2.4方法4

数组名[n]=值
n代表元素的下标,第一元素的下标从0开始
在这里插入图片描述

3.数组字符替换

${数组名[@]/旧字符/新字符}     
 会替换所有元素上能匹配到的字符但是这是临时替换不会影响原有数组,可通过重新赋值实现替换原有数组
 数组名=(${数组名[@]/旧字符/新字符} )

4.删除和追加数组

4.1删除

 unset 数组名[n]    删除某一个元素
 unset 数组名[*]    删除整个数组

4.2追加

数组名+=(元素1 元素2 ...)

数组名=("${数组名[@]}" 元素1 元素2 ...)

数组名[数组长度]=元素值

数组名[n]=值 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值