Shell函数

2021/01/11 Linux Shell

Shell函数

Shell函数

和其他的编程语言一样,Linux Shell编程中也有函数。函数可以把大的命令集合分解成若干较小的任务,编程人员可以基于函数进一步构造更复杂的Shell程序,而不需要重复编写相同的代码。在Linux Shell中,所有的函数定义都是平行的,即不允许在函数体内再定义其他的函数,但允许函数之间相互调用。

函数简介

和其他的编程语言相比,Linux Shell中也有函数,但对其实现方面做了某些限制,比如,在Linux Shell中函数的返回值只能为退出状态0或1。函数是一串命令的集合,如果脚本中有重复代码时,可以考虑使用函数。下面给出了Linux Shell中函数的基本形式:

funcion_name(){
  command1
  command2
  command3
}

其中,标题为函数名,函数体是函数内的命令集合,在编写脚本时要注意标题名应该唯一,如果不唯一,脚本执行时会产生错误。

在函数名前可以加上关键字function,但加上和省略关键字function对脚本的最终执行不产生任何影响。函数体中的命令集合必须含有至少一条命令,即函数不允许空命令,这一点和C语言不同。函数之间可通过参数、函数返回值通信,函数在脚本中出现的次序可以是任意的,但是必须按照脚本中的调用次序执行这些函数。

向函数传递参数

在bash Shell编程中,向函数传递的参数仍然是以位置参数的方式来传递的,而不能传递数组等其他形式变量,这与C语言或Java语言中的函数传递是不同的。

函数返回值

有时需要脚本执行完成后返回特定的值来完成脚本的后继操作,这些特定的值就是函数返回值。在Linux Shell编程中,函数通过return返回其退出状态,0表示无错误,1表示有错误。在脚本中可以有选择地使用return语句,因为函数在执行完最后一条语句后将执行调用该函数的地方执行后续操作。

##

Search

    微信好友

    博士的沙漏

    Table of Contents