Shell中的函式用法

2021-10-02 21:02:27 字數 1299 閱讀 5865

基本格式:

[ function ] funname [()]

說明

可以帶function fun() 定義,也可以直接fun() 定義,不帶任何引數。

引數返回,可以顯示加:return 返回,如果不加,將以最後一條命令執行結果,

作為返回值。 return後跟數值n(0-255)

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

注意:所有函式在使用前必須定義。這意味著必須將函式放在指令碼開始部分,

直至shell直譯器首次發現它時,才可以使用。呼叫函式僅使用其函式名即可。

函式引數

在shell中,呼叫函式時可以向其傳遞引數。

在函式體內部,通過 $n 的形式來獲取引數的值,

例如,$1表示第乙個引數,$2表示第二個引數…

注意,$10 不能獲取第十個引數,獲取第十個引數需要$。

當n>=10時,需要使用$來獲取引數。

引數處理       說明

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

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

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

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

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

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

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

[root@localhost func]# cat 01.sh

#!/bin/bash

function url()

#呼叫函式

url[root@localhost func]# sh 01.sh

[root@localhost func]# cat 02.sh

#!/bin/bash

#計算所有引數的和

function getsum()

#呼叫函式並傳遞引數

getsum 20 90 29 30 80

echo $?

#$@:表示函式所有引數

#$?:表示推出狀態(在這裡取返回值)

[root@localhost func]# sh 02.sh

249

shell中if的用法

一.概要 1.if與 之間要有空格 2.與判斷條件之間也必須有空格 3.與 之間不能有空格 二.對字串的判斷 1.if str1 str2 then fi 當兩個字串相同時返回真 2.if str1 str2 then fi 當兩個字串不相等時返回真 3.if n str1 then fi 當字串的...

shell中if的用法

出處 一.概要 1.if與 之間要有空格 2.與判斷條件之間也必須有空格 3.與 之間不能有空格 二.對字串的判斷 1.if str1 str2 then fi 當兩個字串相同時返回真 2.if str1 str2 then fi 當兩個字串不相等時返回真 3.if n str1 then fi 當...

Shell 中的中括號用法

shell中的中括號 也叫方括號 的用法 1 單中括號 bash 的內部命令,和test是等同的。如果我們不用絕對路徑指明,通常我們用的都是bash自帶的命令。if test結構中的左中括號是呼叫test的命令標識,右中括號是關閉條件判斷的。這個命令把它的引數作為比較表示式或者作為檔案測試,並且根據...