Shell腳本函數(shù)傳遞參數(shù)的實現(xiàn)方法
如何傳遞參數(shù)到Shell腳本函數(shù)
通常,在其他腳本語言中,您可以將參數(shù)和參數(shù)作為function_name(parameter1, parameter2,…)傳遞給函數(shù),這在shell腳本函數(shù)中不支持。在shell腳本函數(shù)中,您可以在函數(shù)調(diào)用期間直接傳遞參數(shù),而無需在函數(shù)定義中定義它們的名稱,并直接使用位置參數(shù) $1 作為第一個參數(shù), $2 作為第二個參數(shù),以此類推。
在shell腳本中定義函數(shù)有兩種方法
function function_name {
...
}
OR
function_name () {
...
}
無論是否傳遞參數(shù),每個shell腳本函數(shù)都必須像上面那樣定義。您將注意到,在函數(shù)簽名中沒有指定任何實參。
下面介紹如何調(diào)用同一個shell腳本函數(shù)
function_name arg1 arg2 ...
正如前面提到的,每個shell腳本函數(shù)通過其位置$1、$2等引用參數(shù)。$0表示函數(shù)的名稱。
下面是一個shell腳本函數(shù)的例子,它讀取第一個參數(shù)并回顯它。創(chuàng)建一個空的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
重要的是要記住,只能在函數(shù)定義之后調(diào)用函數(shù)。如果你在定義之前調(diào)用它,那么它會給你一個錯誤。
您還可以調(diào)用在shell腳本函數(shù)之外定義的變量,并將它們用作參數(shù)。在下面的例子中,我們使用了在函數(shù)外部定義的變量 $name 作為參數(shù)
$ sudo vi test_script.sh
向它添加以下行。
test() {
? ? echo hello $name
}
name="tom"
test用以下命令運行上面的腳本。
$ sudo ./test_script.sh hello tom
在本文中,我們研究了向shell腳本函數(shù)傳遞參數(shù)的兩種不同方法。
到此這篇關(guān)于Shell腳本函數(shù)傳遞參數(shù)的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)Shell函數(shù)傳遞參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決linux?shell中傳遞包含空格的參數(shù)問題
這篇文章主要介紹了如何解決linux?shell中傳遞包含空格的參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
一天一個shell命令 linux文本操作系列-chmod命令用法
這篇文章主要介紹了一天一個shell命令 linux文本操作系列-chmod命令用法,需要的朋友可以參考下2016-06-06
linux下python3連接mysql數(shù)據(jù)庫問題
這篇文章主要介紹了linux下python3連接mysql數(shù)據(jù)庫問題,需要的朋友可以參考下2015-10-10

