网站关键词词库怎么做,高校网站建设 调查,php网站开发 远程,阿里云服务器学生文章目录 前言函数定义处理函数参数通过getopts接收参数 前言
函数是编程语言中最重要的部分之一#xff0c;虽然在shell脚本中并不是必须的#xff0c;但是函数可以提高代码的复用性和可读性#xff0c;当我们编写稍微复杂的脚本时#xff0c;函数就是一个好帮手#xf… 文章目录 前言函数定义处理函数参数通过getopts接收参数 前言
函数是编程语言中最重要的部分之一虽然在shell脚本中并不是必须的但是函数可以提高代码的复用性和可读性当我们编写稍微复杂的脚本时函数就是一个好帮手否则我们的脚本可能就又臭又长过一段时间自己都不认得了。 接下来我们就一起看看在shell中应该怎么定义和使用函数。
函数定义
首先函数的定义语法如下
# function 关键字
# helloWorld 函数名
function helloWorld(){echo hello world!
}#函数调用
helloWorld注意事项
函数定义的关键字function 并不是必须的但是为了可读性还是建议加上在ubuntu系统上的/bin/sh中不支持function关键字建议使用#!/bin/bash解释执行脚本定义函数时不需要显式的申明函数参数
处理函数参数
在上面的函数定义中我们可以看到并没有申明函数的参数那么函数参数是怎么传递的呢 其实函数参数我们可以通过$n的方式获取如下
#!/bin/bash# 定义一个函数
function func(){# 输出所有的参数echo all parameters are $*# 输出所有的参数echo all parameters are $# 输出脚本名称echo the scripts name is $0# 输出第 1 个参数echo the first parameter is $1# 输出第 2 个参数echo the second paramter is $2
}# 函数调用
func hello 2从上面的例子可以看到我们在调用函数时直接将函数跟在函数名称后面即可在函数内部我们可以通过位置参数的形式接收。
通过getopts接收参数
上面的方式演示了函数的位置参数如何传递和接收但是如果出现某个函数参数特别多的情况使用位置参数可能会导致可读性差而且必须每个位置都必须要传递参数使用起来不方便。 接下来演示通过getopts方式传递可选参数代码如下
#!/bin/bash
# 定义函数
func()
{# 逐个接收选项及其参数while getopts a:b:c argdo# 当指定了 -a 选项时case $arg ina)# 输出 -a 选项的参数值echo as argument is $OPTARG;;b)echo bs argument is $OPTARG.;;c)echo c;;?)# 未知选项echo unkown argument.exit 1;;esacdone
}
# 调用函数
func -a hello -b world