linux shell指令碼基礎 3

2021-06-24 11:38:36 字數 725 閱讀 7882

6. 函式

function_name()

注意:必須在呼叫乙個函式之前先對它進行定義,不存在前向宣告;

當乙個函式被呼叫時,指令碼程式的位置引數($*,$@,$#,$1,$2等)會被替換為函式的引數。這也是讀取傳遞給函式的引數的辦法。當函式執行完畢後,這些引數會恢復為它們先前的值。

可以通過return命令讓函式返回數字值(注意,return不能返回字串值)。為讓乙個函式返回字串,可以echo乙個字串並捕獲其結果(因為子程序會繼承父程序的標準輸出,因此,子程序的輸出也就直接反應到父程序)

如果在函式裡沒有使用return命令指定乙個返回值,函式返回的就是執行的最後一條命令的退出碼

#!/bin/sh

foo()

result="$(foo)"

echo $result

exit 0#!/bin/sh

yes_or_no()

echo "original parameters are $*"

if yes_or_no "$1" #將$1傳遞給yes_or_no

then

echo "hi $1, nice name"

else

echo "newer mind"

fiecho

Linux Shell指令碼基礎

shell指令碼在處理自動迴圈或大的任務方面可節省大量時間,且功能強大。任何指令碼都可能有注釋,加注釋需要此行的第乙個字元為 直譯器對此行不予解釋。指令碼不是複雜的程式,它是按行解釋的。指令碼第一行總是以 bin sh開始,這段指令碼通知shell使用系統上的 bourne shell直譯器。指令碼...

Linux shell指令碼基礎

ls 列出目錄下的清單 cat 連線顯示檔案內容 less more 分頁顯示檔案內容,建議使用less,相比於more更方便 head 顯示檔案頭部,可指定行數,預設顯示10行 tail 顯示檔案尾部,可指定行數,預設顯示10行 file 顯示檔案型別 wc 檢視檔案或統計資訊 find 查詢檔案...

Linux shell指令碼程式設計基礎

把指令碼路徑寫入 path變數。帶上路徑執行,需要執行許可權。bash bash後跟上指令碼,該方法指令碼不需要執行許可權也能執行。bash 讀入指令碼內容,通過管道符交給bash執行。當前主機遠端呼叫其他主機的指令碼。1.宣告shell型別 bin bash 2.變數 3.函式 4.主程式 在編寫...