shell:函数
时间:2022-09-10 16:00:00
文章目录
-
- 函数
-
-
- 什么是函数
- 函数语法
- 函数的调用
- 函数的参数
- 函数的返回值
-
- 递归函数
- 函数库文件
-
-
- 函数库文件定义:
- 调用函数库文件:
-
函数
什么是函数
- 函数是代码块。定义函数后,可以通过函数名调用相应的代码。
使用shell函数优势
- 将相同的程序段定义为函数,可以减少整个程序段的代码量,提高开发效率。
- 2.提高程序段的可读性和可读性,提高管理效率。
- 3.程序功能可以模块化,使程序通用(可移植)
函数语法
function 函数名() {
指令 return } 简化写法1: function 函数名 {
指令 return } 简化写法2: 函数名() {
指令 return }
函数的调用
function_name 函数名 function_name param1 param2 .... 函数名 参数 参数
函数的参数
- 使用位置参数
- 参数建议带参数建议带 ”
- 默认情况下,函数是全局变量,需要使用局部变量local定义
function fun_1() {
echo $1 } # 传参调用函数时 fun_1 1 2 3 4 # 传输位置参数 fun_1 $1 $2 $3 $4
function fun_1() {
echo $1 } echo "第一个位置参数是$1" echo $1 fun_1 $1 fun_1 "$1" file.sh "hello world" 第一个位置参数是hello word hello word hello hello word
function fun_1() {
echo $1 } read -p "" mgs fun_1 "$mgs" fun_1 $mgs bash file.sh hello world hello world hello
函数的返回值
- return语句只能返回0-255之间的整数值
- 使用$?接收
function fun_1()
{
return 5
}
fun_1
a=$?
echo $a
bash file.sh
5
#判断一个网段内那些主机在线
- 无参 无返回值
- 无参 有返回值
- 有参 无返回值
- 有参 有返回值
#编写一个函数,能接受一个参数,参数为用户名
- 判断用户是否存在
- 如果存在,返回用户的UID和shell,并返回正常状态
- 如果不存在,说明用户不存在,返回错误状态
递归函数
- 函数可以直接或者间接地调用自身
函数库文件
函数库文件定义:
-
创建一个函数库文件的过程非常类似于编写一个Shell脚本
-
函数库文件通常只包括函数,没有调用
-
脚本中则可以既包括函数和变量的定义,又包括可执行的代码。
函数库文件的调用:
- 载入库文件的命令为
.
- 点命令和库文件名之间有一个空格
. 文件绝对路径. 文件相对路径