layout: post
title: Shell的函数
date: 2017-12-31
tags: [“Linux”,”Shell脚本管理”]
函数由两部分组成:函数名和函数体
help function #查看function的帮助
- 语法一:
- f_name (){
- ...函数体...
- }
- 语法二:
- function f_name {
- ...函数体...
- }
- 语法三:
- function f_name () {
- ...函数体...
- }
函数的特性
可在交互式环境下定义函数
可将函数放在脚本文件中作为它的一部分
可放在只包含函数的单独文件中
调用:函数只有被调用才会执行
调用:给定函数名
函数名出现的地方,会被自动替换为函数代码
函数的生命周期:被调用时创建,返回时终止
函数返回值
函数的执行结果返回值:
(1) 使用echo等命令进行输出
(2) 函数体中调用命令的输出结果
函数的退出状态码:
(1) 默认取决于函数中执行的最后一条命令的退出状态码
(2) 自定义退出状态码,其格式为:
return 从函数中返回,用最后状态命令决定返回值
return 0 无错误返回。
return 1-255 有错误返回
删除shell函数
unset function_name
环境函数
使子进程也可使用
声明:export -f function_name
查看:export -f 或 declare -xf
fork炸弹
函数实现
:(){ :’:& };:
bomb() { bomb ‘ bomb & }; bomb
脚本实现
cat Bomb.sh
!/bin/bash
./$0’./$0&
文档更新时间: 2018-12-13 15:59 作者:张尚