shell入門之函式應用

2021-07-03 17:59:09 字數 849 閱讀 1581

先來看乙個簡單的求和函式

#!/bin/bash

#a test about function

f_sum 7

8function f_sum

()f_sum 3

5;total=$(f_sum 3

6);echo

$total,$?;

注意幾個問題:

1.shell是逐行執行,所以要在函式宣告之後才可呼叫,否則會有錯誤

2.我們要獲得函式的返回值只能通過$?來獲得,不可以通過變數拿到返回值。

再看看關於變數作用域的測試:

#!/bin/bash

#a test about function

echo $(uname)

num=100

uname

()changevar

()uname;

echo $?

echo

$num;

changevar;

echo

$num;

要點:

1.第乙個輸出linux是第一行**執行的結果,這是呼叫了系統函式

2.呼叫uname,系統會優先呼叫這個指令碼中的函式,找到了直接呼叫,找不到再找系統函式。於是輸出my name is lenve

3.250是uname函式的返回值

4.101是由於num在uname函式中自增1導致的

5.21表示如果函式中定義了與函式外部同名的變數,函式內部使用的是內部定義的變數而不是全域性變數

6.101進一步佐證了第5點

shell入門之 函式

function 功能 功能函式 完成特定功能的 片段 函式必須先定義才能使用 優點 避免重複的 定義函式 呼叫函式 取消函式 函式傳參 命名空間 local 返回值 return value value不能超過0 255shell 函式function 函式宣告 function name 函式名...

Shell學習筆記 shell函式應用

函式是shell指令碼中自定義的一些列執行命令,一般來說函式應該設定有返回值 正確返回0,錯誤返回非0 對於錯誤返回,可以定義返回其他非0正值來細化錯誤。使用函式的好處是可以避免出現大量重複 增加了 的可讀性。定義函式 呼叫函式 函式返回值 函式傳參 function function name h...

SHELL 函式的應用

可以在很大一方面簡化程式。方法一 函式名 方法二 funcation 函式名 fun1 呼叫函式 if eq 2 then 如果他的個數為2 value fun1 1 2 echo the result is value else echo usage fun1 a b fi bin bash fu...