二、函式返回值
三、函式傳參
四、函式變數作用範圍
五、函式庫
六、遞迴
將命令序列按格式寫在一起
可方便重複使用命令序列
function 函式名
函式名 (
)
return表示退出函式並返回乙個退出值,指令碼中可以用$?變數顯示該值
使用原則∶
1、函式一結束就取返回值,因為$?變數只返回執行的最後一條命令的退出狀態碼
2、退出狀態碼必須是0~255,超出時值將為除以256取餘
函式傳參裡傳的只有位置引數
[
root@pyy ~] # cat chuancan.sh
sum1()
read -p "輸入第乙個引數:" first
read -p "輸入第二個引數:" second
函式在shell指令碼中僅在當前shell環境中有效
shell指令碼中變數預設全域性有效
將變數限定在函式內部使用時使用local命令
[
root@pyy ~] # cat **bl.sh
#!/bin/bash
abc()a=
8c=9abc
echo "a等於$a"
echo "b等於$b"
每次都要寫函式會很麻煩,所以可以建立乙個函式庫,以後可以直接呼叫,不用每次都要自己寫函式
##########首先建立乙個庫:
[root@pyy ~] # cat hsk.sh
#!/bin/bash
# 函式庫
jiafa()
jianfa()
chengfa()
chufa()
[root@pyy ~] # cat hskjg.sh
#!/bin/bash
# 使用函式庫
./root/hsk.sh
read -p "請輸入第乙個引數值:" first
read -p "請輸入第二個引數值:" second
result1=`jiafa $first $second`
result2=`jianfa $first $second`
result3=`chengfa $first $second`
result4=`chufa $first $second`
echo $result1
echo $result2
echo $result3
echo $result4
##########最後執行,結果如下圖:
遞迴指函式呼叫自己本身的函式
[
root@pyy ~] # cat dg.sh
#!/bin/bash
#遞迴: 函式呼叫自己本身的函式
#階乘fact()
read -p "請輸入階乘數:" n
result=`fact $n`
echo $result
##########執行結果如下圖
#遞迴目錄
function abc
abc "/var/log"
""注:這裡$1是/
var/log,$2輸出的是空字元
執行結果有點長,這裡截了一點圖
shell指令碼裡的變數
1 在命令列中和指令碼中,變數定義得格式 name value 左右兩邊不能有空格,否則會當做命令來對待,輸出乙個command not found echo name echo 列印出變數,引用變數使用 name.2 單引號和雙引號 語法 和php中相同 雙引號仍然可以保有變數的內容,但單引號內僅...
shell指令碼裡的引號簡介
一 雙引號 使用雙引號可引用除字元 外的任意字元或字串 例 string hello world echo string print hello world echo string print hello world echo string print hello world echo 2 3 pr...
shell指令碼裡的for迴圈和while迴圈
shell 語言作為類 unix 系統的原生指令碼,有著非常實用的價值。但對於很多剛剛接觸 shell 指令碼的同學來說,搞懂 shell 語言的語法卻是一件非常困難的事情。甚至有人吐槽,或許沒有誰能清楚地說明白 shell 的語法。好了廢話不多說,下面就是for迴圈和while迴圈啦!for迴圈 ...