shell函式返回值不是

2021-09-25 18:20:23 字數 1137 閱讀 9145

shell中美元符號的使用

找了半天原因,就在上篇博文裡,我在用shell寫素數時,發現了乙個問題,老師所說的$?代表函式返回值的說法並不準確,所以查了一下,然後給用**大家展示一下具體效果

$?

最後執行的命令的結束**(返回值)

//函式呼叫之後執行了一條 echo

這是乙個很簡單的shell

乙個函式,引數為 int型別,但是不管如何,都返回 30

"主函式"中呼叫了 f1之後馬上一條 echo,顯示「after a echo」,然後再取值result=$?

結果如圖,result=0!!!!!

//after if

#!/bin/bash

f1()

declare -i result=20

f1 $result

if [ $result -gt 5 ]

then

result=$?

echo " after if : $?"

firesult=$?

echo " first echo $result"

result=$?

echo " second echo $result"

這段**唯一改了的地方就是在函式呼叫之後 加了一句if,然後在 if(判斷條件絕對為真)之後

result=$?

結果呢?

還是0,我去,所以,當函式呼叫之後,趕緊找個變數將其儲存,要不然,嘿嘿

shell 函式返回值接收問題

shell中函式的呼叫方式有兩種,如下圖 第一種方式,有點像c語言呼叫函式的風格,直接把函式的執行結果複製給變數!不過,這個賦值過程和c語言的函式賦值是不一樣的!c語言中,函式呼叫,是將函式的返回值返回給被調函式,如 fun main shell中函式呼叫的第一種方式,是將標準輸出傳遞給主程式的變數...

shell 函式返回值接收問題

shell中函式的呼叫方式有兩種,如下圖 第一種方式,有點像c語言呼叫函式的風格,直接把函式的執行結果複製給變數!不過,這個賦值過程和c語言的函式賦值是不一樣的!c語言中,函式呼叫,是將函式的返回值返回給被調函式,如 cpp view plain copy fun cpp view plain co...

shell指令碼 之 函式返回值

shell 函式返回值 只允許返回數字,若不是則報 line 6 return haha numeric argument required 若是寫了return 則返回return 語句跟的數值,若是沒有return語句則返回最後乙個命令的執行結果。用例子說話吧 1 bin bash 2 3 re...