shell 也支援函式。shell 函式必須先定義後使用。
shell 函式的定義格式如下:
function_name ()如果你願意,也可以在函式名前加上關鍵字 function:
function function_name ()#!/bin/bash
# define your function here
hello ()
# invoke your function
hello
執行結果:
$./test.sh呼叫函式只需要給出函式名,不需要加括號。hello world
$
再來看乙個帶有return語句的函式:
#!/bin/bash
funwithreturn()
funwithreturn
# capture value returnd by last command
ret=$?
echo "the sum of two numbers is $ret !"
執行結果:
the function is to get the sum of two numbers...函式返回值在呼叫該函式後通過 $? 來獲得。input first number: 25
input another number: 50
the two numbers are 25 and 50 !
the sum of two numbers is 75 !
再來看乙個函式巢狀的例子:
#!/bin/bash
# calling one function from another
number_one ()
number_two ()
number_one
執行結果:
url_1 is像刪除變數一樣,刪除函式也可以使用 unset 命令,不過要加上 .f 選項,如下所示:url_2 is
$unset .f function_name
如果你希望直接從終端呼叫函式,可以將函式定義在主目錄下的 .profile 檔案,這樣每次登入後,在命令提示符後面輸入函式名字就可以立即呼叫。
shell函式返回值不是
shell中美元符號的使用 找了半天原因,就在上篇博文裡,我在用shell寫素數時,發現了乙個問題,老師所說的 代表函式返回值的說法並不準確,所以查了一下,然後給用 大家展示一下具體效果 最後執行的命令的結束 返回值 函式呼叫之後執行了一條 echo 這是乙個很簡單的shell 乙個函式,引數為 i...
shell 函式返回值接收問題
shell中函式的呼叫方式有兩種,如下圖 第一種方式,有點像c語言呼叫函式的風格,直接把函式的執行結果複製給變數!不過,這個賦值過程和c語言的函式賦值是不一樣的!c語言中,函式呼叫,是將函式的返回值返回給被調函式,如 fun main shell中函式呼叫的第一種方式,是將標準輸出傳遞給主程式的變數...
shell 函式返回值接收問題
shell中函式的呼叫方式有兩種,如下圖 第一種方式,有點像c語言呼叫函式的風格,直接把函式的執行結果複製給變數!不過,這個賦值過程和c語言的函式賦值是不一樣的!c語言中,函式呼叫,是將函式的返回值返回給被調函式,如 cpp view plain copy fun cpp view plain co...