shell中的自定義函式,返回值

2021-09-02 15:38:54 字數 1845 閱讀 1433

直接看截圖和**吧,一目了然!

#如下語句會報錯,因為在呼叫test1函式之前要先宣告test1函式

#也就是說,函式的呼叫語句要放在函式的宣告的後面(呼叫函式語句的位置要放在函式宣告語句的位置的後面)

#test1 20 30

function test1()

test1 50 70

#將命令的結果賦給變數total

total=$(test1 10 66)

#echo "執行命令的結果是$total"

#函式返回值,只能通過$?系統變數獲得,直接通過=,獲得是空值,可以把函式理解成乙個命令

#在shell中獲得命令返回值,都需要通過$?獲得

#echo $?

echo $total,$?

echo "執行命令的結果是$total"

:<總結:

1 必須在呼叫函式地方之前,宣告函式,shell指令碼是逐行執行,不會像其它語言一樣先預編譯一次,必須在使用函式前先宣告函式

2 total=$(fsum 3 2);  通過這種呼叫方法,我們清楚知道,在shell 中 單括號裡面,可以是:命令語句。 因此,我們可以將shell中函式,看作是定義乙個新的命令,它是命令,因此 各個輸入引數直接用 空格分隔。 一次,命令裡面獲得引數方法可以通過:$0…$n得到。 $0代表函式本身

給大家回顧一下以前的知識,將命令的執行結果賦給變數,看我這篇文章也可以

如下圖:

將命令的返回值賦給變數(重點)

2種寫法

1)a=`ls -la` 反引號,執行裡面的命令,並把結果返回給變數 a

3 函式返回值,只能通過$? 系統變數獲得,直接通過=,獲得是空值。其實,我們按照上面一條理解,知道函式是乙個命令,在shell獲得命令返回值,都需要通過$?獲得

如果不知道$?是什麼,那就回顧一下以前的知識,看我這篇文章也可以

預定義變數

基本介紹

就是 shell 設計者事先已經定義好的變數,可以直接在 shell 指令碼中使用

基本語法

$$(功能描述:當前程序的程序號(pid))

$!(功能描述:後台執行的最後乙個程序的程序號(pid))

$?(功能描述:最後一次執行的命令的返回狀態。如果這個變數的值為 0,證明上乙個命令正確執行;如果這個變數的值為非 0(具體是哪個數,由命令自己來決定),則證明上乙個命令執行不正確了)

C C 自定義函式 返回值

根據返回值型別來定義為int,並且在子函式結尾一定要寫上return result 需要返回的值 int main中需要定義乙個新的變數去接收子函式返回的值 全域性變數的生命期是永恆的,如果返回乙個區域性變數的位址會出現問題 變數在子函式中或者在if語句後出現都會隨著程式的執行時變數失效 inclu...

第八講 python自定義函式返回值

注意自定義函式 統一檔案內函式名稱不能相同。單返回值 語法結構 def function name para1,para2.code.code.return value 可以返回乙個值 eg def test c n1,n2 函式定義 n n1 n2 return n sum1 test c 100...

shell函式返回值不是

shell中美元符號的使用 找了半天原因,就在上篇博文裡,我在用shell寫素數時,發現了乙個問題,老師所說的 代表函式返回值的說法並不準確,所以查了一下,然後給用 大家展示一下具體效果 最後執行的命令的結束 返回值 函式呼叫之後執行了一條 echo 這是乙個很簡單的shell 乙個函式,引數為 i...