Shell腳本函數(shù)傳遞參數(shù)的實現(xiàn)方法
如何傳遞參數(shù)到Shell腳本函數(shù)
通常,在其他腳本語言中,您可以將參數(shù)和參數(shù)作為function_name(parameter1, parameter2,…)傳遞給函數(shù),這在shell腳本函數(shù)中不支持。在shell腳本函數(shù)中,您可以在函數(shù)調用期間直接傳遞參數(shù),而無需在函數(shù)定義中定義它們的名稱,并直接使用位置參數(shù) $1 作為第一個參數(shù), $2 作為第二個參數(shù),以此類推。
在shell腳本中定義函數(shù)有兩種方法
function function_name { ... }
OR
function_name () { ... }
無論是否傳遞參數(shù),每個shell腳本函數(shù)都必須像上面那樣定義。您將注意到,在函數(shù)簽名中沒有指定任何實參。
下面介紹如何調用同一個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ù)定義之后調用函數(shù)。如果你在定義之前調用它,那么它會給你一個錯誤。
您還可以調用在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ù)的兩種不同方法。
到此這篇關于Shell腳本函數(shù)傳遞參數(shù)的實現(xiàn)方法的文章就介紹到這了,更多相關Shell函數(shù)傳遞參數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Shell腳本while、until循環(huán)語句簡明教程
這篇文章主要介紹了Shell腳本while、until循環(huán)語句簡明教程,簡潔易懂的簡明教程,需要的朋友可以參考下2014-07-07linux shell自定義函數(shù)(定義、返回值、變量作用域)介紹
linux shell 可以用戶定義函數(shù),然后在shell腳本中可以隨便調用。下面說說它的定義方法,以及調用需要注意那些事項2013-02-02