什麼是函數,函數就是一段代碼,這段代碼可以在我們需要的位置調用,那麼這段代碼就叫做函數。
在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就會報錯了
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SZhFTNkZWYzMTOmBTOykTYmFzM0ATYhVGZ1ITNkRGO08CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
func1()
echo " this is the recover function"
這樣,我們的函數1就會被覆寫,所在Shell腳本中定義函數的時候一定要注意名字的唯一性
和我們普通程式設計一樣,Shell腳本中的函數也可以有傳回值,bash shell會把函數當做一個小型的腳本,運作結束時會傳回一個退出狀态碼。有三種不同的方法可以來為函數生成退出狀态碼
1. 使用預設的退出狀态碼
預設的狀态碼是函數中最後一條指令傳回的退出狀态碼。在函數結束後,使用标準的$?變量來決定函數的退出狀态碼
echo " the function exit status is: " $?
2. 使用return來傳回
value=88
return $value
:<
!
不過這個的不好支援就在于這裡傳回的狀态碼隻能是0-255
要向返自己的内容,就需要用到第三種方式
文本輸出 echo
這裡就不哔哔了,今天先到這。等有時間在看
後面是在函數中使用變量了