Shell指令碼函式與遞迴

2021-09-02 18:16:29 字數 912 閱讀 6913

function 函式名()
定義函式

[function] 函式名()

呼叫函式:執行一次函式

函式名 實參

傳遞與接收實參

傳遞:函式名 實參1 實參2…

接收:$1 $2 $3 …

$# 傳遞實參的個數

$@ 引用所有實參

返回值:return 字串

若函式有返回值,通過 $? 來獲取

注:只有1byte的寬度 <=255,因為shell一般只用於配置,功能函式一般只返回true或false

例:求n到m的和

# !/bin/bash				

function sum() #定義函式sum

read -p "n: " n

read -p "m: " m

sum $n $m #呼叫執行函式sum,並傳入引數$n為第乙個,$m為第二個

echo $? #取函式返回值

結果圖:

自己呼叫自己
本質:

從什麼時候開始

到什麼時候結束

每次遞迴需要幹什麼

例:使用遞迴輸出1-20

# !/bin/bash

function show() #定義函式名

show 1 #呼叫函式,傳入引數1

結果圖:

SHELL指令碼函式

shll作為指令碼語言,也有自己的函式。但是他有許多與其他語言不同的特點 在這裡,定義了乙個函式,有2個引數,第乙個 陣列,第二個 單個值。這個函式的作用是判斷第二個引數的值是否在第乙個引數 陣列 裡面。bin sh 定義函式 fun function contain do ta array ech...

shell指令碼 函式

函式是乙個指令碼 塊,由使用者對其自定義,可以在指令碼的任意位置建立,按照格式將命令寫入到函式中,系統不會直接執行函式中的命令。如果想要這個函式,只要呼叫這個函式的名稱 只需要輸入名稱 就可以了,而且可以在指令碼的任意位置呼叫,使用函式的好處在於模組化以及 可讀性強。function 函式名稱 可以...

shell指令碼 函式

函式function是由若干條shell命令組成的語句塊,實現 重用和模組化程式設計。它與shell程式形式上是相似的,不同的是它不是乙個單獨的程序,不能獨立執行,而是shell 程式的一部分。函式和shell程式比較相似,區別在於 shell 程式在子shell中執行 而shell函式在當前she...