Linux
常用
管理语句
Shell命令(变量)
正则表达式
重定向
EXPECT
流程控制
函数
日志
SED
sed常用操作
sed组合命令
sed脚本
AWK
awk常用
awk流程控制
awk脚本
SSH
SSH密钥的批量分发与执行
SSH连接很慢
ACL文件访问控制
计划任务
常用语句
批量添加用户和密码
批量修改密码
临时和永久关闭Selinux
修改主机名
Linux内核参数
无人值守安装
ISO镜像(mondorescue)
软件管理
SYSTEM服务
YUM本地仓
存储管理
逻辑卷LVM
磁盘阵列RAID
备份恢复相关命令
fio磁盘性能测试
内存管理
IPTABLES防火墙
FIREWALLD防火墙
curl请求
Linux问题
漏洞修复
限制网卡带宽
CentosYUM源
rsyslog 占用内存过高
df -h 卡住解决
Linux故障问题
网络配置
升级内核
Openssl生成证书
CENTOS6升级7
本文档使用MrDoc发布
返回首页
-
+
函数
2020年5月4日 22:01
admin
#定义函数 >##方式一: funname () { action; [return int;] } >##方式二: function funname () { action; [return int;] } >####说明: 1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255) 3、函数必须在调用前定义 --- #调用函数 funname [参数1 参数2...参数n] --- #函数的返回值 funname () { action; [return int;] } #参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255) --- #函数变量 var=1 #全局变量 func() { local var=2 local var2=3 var3=4 } echo ${var} #结果为1,因为local定义了局部变量,变量范围只在函数内有效,因此var在函数外并没有修改 echo ${var2} #结果为空,因为local定义了局部变量,变量范围只在函数内有效 echo ${var3} #结果为4,因为没有使用local,默认为全局变量 --- #函数库文件 >##函数库文件定义 >####shell脚本,全为函数即可 #!/bin/bash error() { echo "ERROR:" $@ } warnning() { echo "WARNNING:" $@ } #由于函数库文件是由主程序载入并执行的,所以用户无需拥有库文件的执行权限,只要拥有读取权限即可 --- >##函数库文件调用 >####在程序文件中使用: . filename #调用函数库文件 ------------------------------------------------------- #!/bin/bash . test.sh #调用test.sh函数库文件 error hello #error为test.sh中的一个函数
分享到: