shell入門之 函式

2021-10-04 17:43:53 字數 1770 閱讀 7152

function

(功能) 功能函式

完成特定功能的**片段

函式必須先定義才能使用

優點:避免重複的**

定義函式

呼叫函式

取消函式

函式傳參

命名空間

local

返回值 return value

value不能超過0-255

shell 函式function

函式宣告

function_name (

)

函式名 function_name,這就是你將使用它從其他地方在你的指令碼呼叫。

取消函式

unset myfunc //取消函式
myfunc(

) //函式定義

myfunc //函式呼叫

產生以下執行結果

./test.sh

this is my first shell function

函式必須提前定義測試

[root@newrain fun]

# cat fun05.sh

#!/bin/bash

fun (

)fun

unset fun

fun[root@newrain fun]

# bash fun05.sh

hello

fun05.sh: line 8: fun: command not found

函式的返回值,返回的是函式體內最後一條命令是否成功的返回值

3

函式傳參

在shell中,呼叫函式時可以向其傳遞引數。在函式體內部,通過 $¥n 的形式來獲取引數的值,例如,$1表示第乙個參 數,$2表示第二個引數

示例

[root@newrain fun]

# cat fun06.sh

#!/bin/bashif[

! $# -eq 3 ];then

echo

"must input three number: " p1 p2 p3

exit

fifun(

)fun 1 2 3 這個時候只是傳參到了指令碼,並沒有傳到函式裡面

[root@newrain fun]

# bash fun06.sh 1 3 4 6

修改版:

[root@newrain fun]

# cat fun06.sh

#!/bin/bashif[

! $# -eq 3 ];then

echo

"must input three number: " p1 p2 p3

exit

fifun(

)fun $1

$2$3

shell入門之函式應用

先來看乙個簡單的求和函式 bin bash a test about function f sum 7 8function f sum f sum 3 5 total f sum 3 6 echo total,注意幾個問題 1.shell是逐行執行,所以要在函式宣告之後才可呼叫,否則會有錯誤 2.我...

shell指令碼 之入門

who 可以檢視現在系統有誰登入。who wc l 計算使用者的個數 cat filename 建立檔案,使用cat複製終端的內容到filename 檔案中 context 在終端中輸入的內容 d ctrl d表示end of file cat filename 檢視filename檔案中的內容,將...

Shell入門之概念

1 一切皆是檔案 在bash shell 中一切皆是檔案,不管是我們認為的文字檔案,還是那些資料夾的東西,在這裡都是檔案,linux只管位元和位元組流,而不關心他們最終組成了什麼格式,這些工作交給在linux 上的執行的軟體來檢測和鑑別。2 檔名的最大長度 linux檔名的最大長度為255個字元,但...