shell腳本返回值 shell函數(shù)能返回字符串嗎?
shell函數(shù)能返回字符串嗎?Bash的功能沒(méi)有C語(yǔ)言強(qiáng)大。默認(rèn)情況下,函數(shù)中的變量是全局變量。可以在函數(shù)中使用字符串變量。Bash函數(shù)本身不能是字符串類型(不像C語(yǔ)言,函數(shù)本身可以是某種類型)。ba
shell函數(shù)能返回字符串嗎?
Bash的功能沒(méi)有C語(yǔ)言強(qiáng)大。默認(rèn)情況下,函數(shù)中的變量是全局變量??梢栽诤瘮?shù)中使用字符串變量。Bash函數(shù)本身不能是字符串類型(不像C語(yǔ)言,函數(shù)本身可以是某種類型)。bash函數(shù)的最后一句或中間一句可以返回n,n只能返回整數(shù)。一般來(lái)說(shuō),0代表成功,非0代表失敗。您還可以指定要返回的值-要表示的含義等。如果bash函數(shù)中沒(méi)有返回,則函數(shù)中最后一個(gè)命令的退出狀態(tài)代碼(通常0表示成功,非0表示失敗,127表示找不到命令)將是整個(gè)函數(shù)的返回值。請(qǐng)參考新書(shū)《實(shí)用Linux shell編程》,讀一些書(shū),覺(jué)得這本書(shū)寫得清楚,易懂。
如何得到shell的返回值?
是您所說(shuō)的返回值函數(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ù)的返回值賦給輸出值
要返回字符串,您需要返回char*type
注意返回的字符串不能是函數(shù)的局部變量,否則會(huì)導(dǎo)致錯(cuò)誤
可以是參數(shù)字符串、全局變量、靜態(tài)局部變量,或者動(dòng)態(tài)分配內(nèi)存
例如
{
char*P=D
while(*P=*s)
return D//返回參數(shù)字符串。
}