Shell函式返回值 刪除函式 在終端呼叫函式

2021-09-07 00:14:50 字數 1170 閱讀 7109

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 

url_2 is

像刪除變數一樣,刪除函式也可以使用 unset 命令,不過要加上 .f 選項,如下所示:

$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...