如何传递参数到Shell脚本函数
通常,在其他脚本语言中,您可以将参数和参数作为function_name(parameter1, parameter2,…)传递给函数,这在shell脚本函数中不支持。在shell脚本函数中,您可以在函数调用期间直接传递参数,而无需在函数定义中定义它们的名称,并直接使用位置参数 $1 作为第一个参数, $2 作为第二个参数,以此类推。
在shell脚本中定义函数有两种方法
function function_name {
...
}
OR
function_name () {
...
}
无论是否传递参数,每个shell脚本函数都必须像上面那样定义。您将注意到,在函数签名中没有指定任何实参。
下面介绍如何调用同一个shell脚本函数
function_name arg1 arg2 ...
正如前面提到的,每个shell脚本函数通过其位置$1、$2等引用参数。$0表示函数的名称。
下面是一个shell脚本函数的例子,它读取第一个参数并回显它。创建一个空的shell脚本,如下所示。
$ sudo vi test_script.sh
向它添加以下行。
#!/usr/bin/env sh
test() {
echo "Parameter #1 is $1"
}
test 20
用以下命令运行上面的脚本。
$ sudo ./test_script.sh
Parameter #1 is 20
重要的是要记住,只能在函数定义之后调用函数。如果你在定义之前调用它,那么它会给你一个错误。
您还可以调用在shell脚本函数之外定义的变量,并将它们用作参数。在下面的例子中,我们使用了在函数外部定义的变量 $name 作为参数
$ sudo vi test_script.sh
向它添加以下行。
test() {
echo hello $name
}
name="tom"
test
用以下命令运行上面的脚本。
$ sudo ./test_script.sh
hello tom
在本文中,我们研究了向shell脚本函数传递参数的两种不同方法。
到此这篇关于Shell脚本函数传递参数的实现方法的文章就介绍到这了,更多相关Shell函数传递参数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!