文章目录
shell 编程-函数
功能函数
函数 创建的过程 就是一个对功能代码封装的过程
完成特定功能的代码片段
函数必须先定义才能使用
优点:避免重复的代码
定义函数—怎么写函数脚本,如何定义
调用函数— 怎么使用函数,本地调用,2。通过其他脚本调用
取消函数---- unset func_name
函数传参----和脚本传参类似
命名空间:在shell语言中函数的命名空间是函数内和函数外定义变量是一样的,函数内外不能赋值同样名字的变量
#变量:如果在同一个命名空间可以用,如果不再同一个命名空间就不能用
#函数变量使用的范围:默认,函数里的变量会在函数外面生效
#函数变量如果不让在其他空间用使用:local 分开
脚本案例;
#!/usr/bin/bash
a=10
var() {
echo $a
#local a
a=20
echo $a
}
var #调用函数
echo $a
调用函数
local 函数局部变量
变量名称 #变量只在函数内生效。local 局部变量 只变量 函数标签内的 不会影响外面
return: 返回结果并退出函数
返回值:return value:#value不能超过0-255,是函数里面函数最后一条执行命令的返回值,默认返回值是由这条命令执行结果确定的.
return 结束函数 并返回一个值 继续执行 函数外面的代码
脚本案例
#!/usr/bin/bash
func(){
echo “hello”
return 250 #函数返回值
}
func
#echo $? #返回的是函数的返回值
if [ $? -eq 250 ];then
echo “成功”
else
echo “失败”
fi
图片解答
exit 返回值
会 直接退出脚本
函数总结
函数 函数调用
函数外面 全局变量 自己定义的值
local 局部变量 只变量 函数标签内的 不会影响外面
return 结束函数 并返回一个值 继续执行 函数外面的代码
exit 返回值 直接退出
取消 定义函数 unset + 函数
函数名 function_name,这就是你将使用它从其他地方在你的脚本调用。
取消函数
脚本如下 可以自定义
#!/bin/bash
fun () {
echo “hello”
}
fun
unset fun #取消函数
fun
定义函数脚本 source
source 调用 子文件 可以把写的函数写到子文件
一般子文件里面 都是写函数,不会去写其他,要不然调用的时候 会被显示
source 调用 子文件 可以把写的函数写到子文件
测试结果
函数 传参 重点
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 位置参数来进行传参的,$1表示第一个参数,$2表示第二个参数…
自己理解;函数传参 自己理解 函数内部打印是按照位置打印
你在外面输入 改变位置 他也是按照内部位置来进行打印
脚本案例;
[root@linux-server script]# vim fun04.sh
fun() {
echo $[$1*$2*$3]
}
fun $1 $2 $3
[root@linux-server script]# bash fun04.sh 1 3 5
15
shell 编程-数组
什么是数组?
数组也是一种变量,常规变量只能保存一个值,数组可以保存多个值
#普通数组:只能用整数作为数组的索引–0 下标
#关联数组:可以使用字符串作为数组的索引
定a 数组方法 普通数组
第一种方法 定义 数组 1 简单类
如何去定义一个数组 a=(123 456 789 )
如何去调用一个数组 echo $ {a[0]} 调用数组123
如何去调用一个数组 echo $ {a[1]} 调用数组123
如何去调用一个数组 echo $ {a[3]} 调用数组123
第二种方法 定义 数组
declare -a b=(123 456 789)
如何去调用一个数组 echo $ {b[0]} 调用数组123
如何去调用一个数组 echo $ {b[1]} 调用数组123
如何去调用一个数组 echo $ {b[3]} 调用数组123
只限制语 普通数组