shell函数介绍及使用
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,注:以下内容借鉴于老男孩出版的shell编程实战这个文档编写的。一、什么是函数?在shell脚本中,函数类似Linux系统中的命令别名,可以简化程序的代码量,让程序更易读、易改、易用。简单地说,函数的
千家信息网最后更新 2026年11月02日shell函数介绍及使用
注:以下内容借鉴于老男孩出版的shell编程实战这个文档编写的。
一、什么是函数?
在shell脚本中,函数类似Linux系统中的命令别名,可以简化程序的代码量,让程序
更易读、易改、易用。
简单地说,函数的作用就是将程序里多次被调用的相同代码组合起来(函数体),并为其取一个名字(即函数名),其他所有想重复调用这部分代码的地方都只需要调用这个名字就可以了。当需要修改这部分重复代码时,只需要改变函数体内的一份代码即可实现对所有调用的修改,也可以把函数独立地写到文件里,当需要调用函数时,再加载进来使用。
使用shell函数的优势如下:
- 把相同的程序段定义成函数,可以减少整个程序的代码量,提升开发效率;
- 增加程序的可读性、易读性,提升管理效率;
- 可以实现程序功能模块化,使得程序具备通用性(可移植性)。
二、shell函数的语法
(1)标准写法如下:
function 函数名() { #推荐使用此格式,花括号里面写入的就是要执行的命令 return n}(2)简化写法如下:
函数名() { #不用function的方法 指令... return n}在shell函数的语法中,function表示声明一个函数,这部分可以省略不写。
三、shell函数的执行
shell的函数分为最基本的函数和可以传参的函数两种,其执行方式分别如下:
(1)执行不带参数的函数时,直接输入函数名即可(注意不带小括号),格式如下:
函数名有关执行函数的重要说明:
- 执行shell函数时,函数名前的function和函数后的小括号都不要带;
- 函数的定义必须在要执行的程序前面定义或加载;
- shell执行系统中各种程序的执行顺序为:系统别名→函数→系统命令→可执行命令;
- 函数执行时,会和调用它的脚本共用变量,也可以为函数设定局部变量及特殊位置参数;
- 在shell函数里面,return命令的功能和exit类似,return的作用是退出函数,而exit是退出脚本;
- return语句会返回一个退出值(即返回值)给调用函数的当前程序,而exit会返回一个退出值(即返回值)给执行程序的当前shell;
- 如果将函数存放在独立的文件中,被脚本加载使用时,需要使用source或"."来加载。
- 在函数内一般使用local定义局部变量,这些变量离开函数后就会消失。
(2)带参数的函数执行方法,格式如下:
函数名 参数1 参数2函数后面接参数的说明:
- shell的位置参数($1、$2...、$#、$?及$@)都可以作为函数的参数来使用;
- 此时父脚本的参数临时地被函数参数所掩盖或隐藏;
- $0比较特殊,它仍然是父脚本的名称;
- 当函数执行完成时,原来的命令行脚本的参数即可恢复;
- 函数的参数变量是在函数体里面定义的。
四、shell函数的基础使用举例
(1)示例1:
[root@localhost ~]# vim a.sh#!/bin/bash#以下是定义a和b两个函数function a(){ echo "aaaaaaaaaaa"}function b(){ echo "bbbbbbbbbbb"}b #在脚本中执行函数名以便调用函数,这里先调用了函数ba #再调用函数a[root@localhost ~]# sh a.sh #执行结果如下bbbbbbbbbbbaaaaaaaaaaa老男孩编写的关于shell函数的内容,只有两个大的脚本没有写上来了,建议看原版文档来了解shell,后面的内容,我没什么耐心写了,可以在我博客置顶文章的末尾,下载原版文档进行学习。
函数
参数
程序
脚本
命令
代码
变量
系统
内容
括号
文档
格式
特殊
相同
两个
位置
作用
写法
别名
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天津市摩尔互联网科技
科技互联网公司装修
互联网科技开发公司
互联网的科技创新
远信互联网科技
上游互联网科技
互联网金融 科技创新
狮子座互联网科技培训
中国互联网金融科技基金
科技伦理 互联网公司
徐州市互联网科技有限公司
国大互联网教育科技有限公司薪资
山东子淼互联网科技有限公司
山东大美朱楼互联网科技有限公司
九思连强互联网电子科技有限公司
广东鹅鹅鹅互联网科技有限公司
互联网硬科技公司
容联科技互联网电商
万物互联网智能科技
安徽零酒互联网科技有限公司
百单网互联网科技有限公司怎么样
上海电发互联网科技有限公司
浙南科技城互联网大厦建设工程
互联网时代的科技公司
互联网金融科技元年
互联网科技实习生岗位
中天科技中国工业互联网
从那以后互联网科技有限公司
优雇互联网科技有限公司
瑞安市蟠桃会互联网科技有限公司