天天看點

Linux-Shell腳本程式設計-學習-8-函數

什麼是函數,函數就是一段代碼,這段代碼可以在我們需要的位置調用,那麼這段代碼就叫做函數。

在Shell中,定義一個函數有兩種方法。

1. 使用關鍵字 function

function name

{

}

#!/bin/bash

function func1

       echo " this is a function"

count=1

while [ $count -le 5 ]

do

       func1

       count=$[$count +1 ]

done

echo " the loop end"

這種方式有種Shell 的感覺,那麼第二種就有一種我們普通常見的函數的感覺了

name()

func2()

       echo " this is the function two"

       func2

這裡在定義函數的時候要注意,如果我們在定義函數前使用了函數。那麼就會提示我們找不到這個指令了

如果是這樣的話,那麼func2就會報錯了

Linux-Shell腳本程式設計-學習-8-函數

func1()

       echo " this is the recover function"

Linux-Shell腳本程式設計-學習-8-函數
Linux-Shell腳本程式設計-學習-8-函數
Linux-Shell腳本程式設計-學習-8-函數

這樣,我們的函數1就會被覆寫,所在Shell腳本中定義函數的時候一定要注意名字的唯一性

和我們普通程式設計一樣,Shell腳本中的函數也可以有傳回值,bash shell會把函數當做一個小型的腳本,運作結束時會傳回一個退出狀态碼。有三種不同的方法可以來為函數生成退出狀态碼

1. 使用預設的退出狀态碼

預設的狀态碼是函數中最後一條指令傳回的退出狀态碼。在函數結束後,使用标準的$?變量來決定函數的退出狀态碼

       echo " the function exit status is: " $?

Linux-Shell腳本程式設計-學習-8-函數

2. 使用return來傳回

       value=88

       return $value

:<

!

Linux-Shell腳本程式設計-學習-8-函數

不過這個的不好支援就在于這裡傳回的狀态碼隻能是0-255

要向返自己的内容,就需要用到第三種方式

文本輸出 echo

這裡就不哔哔了,今天先到這。等有時間在看

後面是在函數中使用變量了