脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - shell - Shell脚本函数传递参数的实现方法

Shell脚本函数传递参数的实现方法

2023-03-01 13:54James Gosling shell

本文主要介绍了Shell脚本函数传递参数的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

如何传递参数到Shell脚本函数

通常,在其他脚本语言中,您可以将参数和参数作为function_name(parameter1, parameter2,…)传递给函数,这在shell脚本函数中不支持。在shell脚本函数中,您可以在函数调用期间直接传递参数,而无需在函数定义中定义它们的名称,并直接使用位置参数 $1 作为第一个参数, $2 作为第二个参数,以此类推。

在shell脚本中定义函数有两种方法

?
1
2
3
function function_name {
    ...
}

OR

?
1
2
3
function_name () {
    ...
}

无论是否传递参数,每个shell脚本函数都必须像上面那样定义。您将注意到,在函数签名中没有指定任何实参。

下面介绍如何调用同一个shell脚本函数

?
1
function_name arg1 arg2 ...

正如前面提到的,每个shell脚本函数通过其位置$1、$2等引用参数。$0表示函数的名称。

下面是一个shell脚本函数的例子,它读取第一个参数并回显它。创建一个空的shell脚本,如下所示。

?
1
$ sudo vi test_script.sh

向它添加以下行。

?
1
2
3
4
5
6
7
#!/usr/bin/env sh
 
test() {
    echo "Parameter #1 is $1"
}
 
test 20

用以下命令运行上面的脚本。

?
1
2
$ sudo ./test_script.sh
Parameter #1 is 20

重要的是要记住,只能在函数定义之后调用函数。如果你在定义之前调用它,那么它会给你一个错误。

您还可以调用在shell脚本函数之外定义的变量,并将它们用作参数。在下面的例子中,我们使用了在函数外部定义的变量 $name 作为参数

?
1
$ sudo vi test_script.sh

向它添加以下行。

?
1
2
3
4
5
6
test() {
    echo hello $name
}
 
name="tom"
test

用以下命令运行上面的脚本。

?
1
2
$ sudo ./test_script.sh
hello tom

在本文中,我们研究了向shell脚本函数传递参数的两种不同方法。

到此这篇关于Shell脚本函数传递参数的实现方法的文章就介绍到这了,更多相关Shell函数传递参数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_43810067/article/details/124184296

延伸 · 阅读

精彩推荐