shell獲取命令返回值 如何得到shell的返回值?
如何得到shell的返回值?是您所說的返回值函數(shù)的返回值或命令的返回值如果是函數(shù)的返回值,可以使用print或echo在函數(shù)末尾返回所需的返回值。這樣,函數(shù)就不能在內(nèi)部打印返回值,否則會(huì)影響返回值。例
如何得到shell的返回值?
是您所說的返回值函數(shù)的返回值或命令的返回值
如果是函數(shù)的返回值,可以使用print或echo在函數(shù)末尾返回所需的返回值。這樣,函數(shù)就不能在內(nèi)部打印返回值,否則會(huì)影響返回值。
例如:
函數(shù)exmaple1
{
input=$1#函數(shù)有一個(gè)輸入?yún)?shù)
output=“${input}stringappend”
echo$output#函數(shù)的返回值
}
output=$(exmaple1“test”)#將函數(shù)的返回值賦給輸出值
shell,$?是最后一個(gè)命令或函數(shù)的返回碼,例如,當(dāng)命令xxxxx echo$?執(zhí)行時(shí),輸出命令xxxxx的返回代碼。當(dāng)然,美元?也可以保存在變量中,用于后續(xù)計(jì)算或其他判斷邏輯。
用shell執(zhí)行的程序怎么取得返回值?
有返回值的函數(shù),調(diào)用的時(shí)候沒有將返回值賦值或?qū)Ψ祷刂颠M(jìn)行檢查,是怎么回事?
bash的函數(shù)沒有C語言強(qiáng)大。默認(rèn)情況下,函數(shù)中的變量是全局變量,您可以在函數(shù)中使用字符串變量。Bash函數(shù)本身不能是字符串類型(不像C語言,函數(shù)本身可以是某種類型)。bash函數(shù)的最后一句或中間一句可以返回n,n只能返回整數(shù)。一般來說,0代表成功,非0代表失敗。您還可以指定要返回的值-要表示的含義等。如果bash函數(shù)中沒有返回,則函數(shù)中最后一個(gè)命令的退出狀態(tài)代碼(通常0表示成功,非0表示失敗,127表示找不到命令)將是整個(gè)函數(shù)的返回值。請(qǐng)參考新書《實(shí)用Linux shell編程》,讀一些書,覺得這本書寫得清楚,易懂。