shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数。给这段代码起个名字称为函数名,后续可以直接调用该段代码。

  格式:

func() {   #指定函数名
command #函数体
}

  实例1:

[root@ren01 ~]# cat test1.sh
#!/bin/bash
func() {
echo "this is a function."
}
func
[root@ren01 ~]# sh test1.sh
this is a function.

  Shell 函数很简单,函数名后跟双括号,再跟双大括号。通过函数名直接调用,不加小括号。

  实例2:函数返回值

[root@ren01 ~]# cat test2.sh
#!/bin/bash
func() {
VAR=$((1+6))
return $VAR
echo "this is a function2."
}
func
echo $?
[root@ren01 ~]# sh test2.sh
7

  return 在函数中定义状态返回值,返回并终止函数,但返回的只能是 0-255 的数字,类似于 exit。

  实例3:函数传参

[root@ren01 ~]# cat test3.sh
#!/bin/bash
func() {
echo "hello $1"
}
func world
[root@ren01 ~]# sh test3.sh
hello world

  通过shell位置参数给函数传参。

最新文章

  1. C#关于winforms窗体大小、边框、移动、动画等属性
  2. xpath轴的正确使用姿势
  3. hdoj 2544最短路
  4. jedis:exception is java.lang.VerifyError: Bad type on operand stack
  5. SpringMVC 配置定时执行任务
  6. Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数(转)
  7. cadence原理图绘制方法
  8. 【iOS基础】NSURLConnection
  9. oracle日期的处理
  10. 【最长下降子序列的长度和个数】 poj 1952
  11. Flume-ng源码解析之Channel组件
  12. 用C#语言编写:集合管理器
  13. DOM中获取宽高、位置总结
  14. Evaluation of Forwarding Efficiency in NFV-Nodes Toward Predictable Service Chain Performance
  15. NLP入门(一)词袋模型及句子相似度
  16. 分布式配置hadoop2.5.0 2.6.x
  17. POJ 1258 Agri-Net 【Prime】模板题
  18. luogu2865 路障 (dijkstra)
  19. sublime text3 常用配置
  20. js 截取指定字符长度 为数组

热门文章

  1. .NET Request对象介绍
  2. 记一次metasploitable2内网渗透之samba服务的攻击
  3. QT程序发布
  4. 【Mybatis源码解析】- JDBC连接数据库的原理和操作
  5. Redis系统学习之事物
  6. IE 兼容问题笔记
  7. Nginx 负载均衡方案
  8. 进程保护原理Hook函数Openprocess
  9. Windows核心编程笔记之进程
  10. C#-几个STL相关