shell指令碼之函式(八)

2021-07-29 12:41:18 字數 1230 閱讀 6168

#簡單呼叫函式的例子

demofun

()echo

"開始測試函式呼叫"

demofun

下面定義乙個帶有return語句的函式:

#!/bin/bash

# author:菜鳥教程

# url:www.runoob.com

funwithreturn

()funwithreturn

echo

"輸入的兩個數字之和為 $? !"

輸出類似下面:

這個函式會對輸入的兩個數字進行相加運算...

輸入第乙個數字:

1輸入第二個數字:

2兩個數字分別為 1 和 2 !

輸入的兩個數字之和為 3 !

函式返回值在呼叫該函式後通過 $? 來獲得。

#函式引數

帶引數的函式示例:

#!/bin/bash

# author:菜鳥教程

# url:www.runoob.com

funwithparam

() !"

echo

"第十乙個引數為 $ !"

echo

"引數總數有 $# 個!"

echo

"作為乙個字串輸出所有引數 $* !"

}funwithparam 123

4567

893473

輸出結果:

第乙個引數為 1 !

第二個引數為 2 !

第十個引數為 10 !

第十個引數為 34 !

第十乙個引數為 73 !

引數總數有 11 個!

作為乙個字串輸出所有引數 123

4567

893473 !

注意,$10 不能獲取第十個引數,獲取第十個引數需要$。當n>=10時,需要使

用$來獲取引數。

另外,還有幾個特殊字元用來處理引數:

引數處理 說明

$# 傳遞到指令碼的引數個數

$* 以乙個單字串顯示所有向指令碼傳遞的引數

$$ 指令碼執行的當前程序id號

$! 後台執行的最後乙個程序的id號

$@ 與$*相同,但是使用時加引號,並在引號中返回每個引數。

$- 顯示shell使用的當前選項,與set命令功能相同。

$? 顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。

Shell指令碼程式設計(八)

多路分支語句 多路分支語句case可以用於實現多路分支,型別c語言中的switch case,其語法如下 case 字串變數 in case語句只能檢測字串變數 模式1 命令表1 退出case語句用雙分號 模式2 模式3 若多個模式共用則使用 分隔 命令表2 模式4 命令表3 萬用字元 表示所有其他...

(八)shell指令碼入門

本文只介紹簡單的shell指令碼程式設計,包含變數,輸入,輸出,判斷,函式,迴圈。詳細參考 shell教程 shell指令碼就是一種shell解釋執行的程式,相當於windows的批處理器。簡單的例子 bin bash 輸入 read p input your long and wide long ...

shell學習筆記之八(函式)

函式 定義 1 無返回值 function為關鍵字,function name為函式名 function function name 省略關鍵字function,效果一樣 function name 例 1 簡單函式宣告和呼叫 bin bash function sayhello sayhello ...