3
首先我的源代码测试的Bash函数返回的方法:bash函数
function oidev.fnc.bash.example.fncreturnstringvalue
{
echo "ABC"
return 1
}
和调用函数:
function oidev.fnc.bash.example.fncreturnstringvaluecaller
{
local FNCVALUE
local FNCSTRING
FNCSTRING=$(oidev.fnc.bash.example.fncreturnstringvalue && FNCVALUE="$?" || FNCVALUE="$?")
# String OK but Value empty
echo "VALUE : $FNCVALUE"
echo "STRING: $FNCSTRING"
unset FNCVALUE
unset FNCSTRING
oidev.fnc.bash.example.fncreturnstringvalue && FNCVALUE="$?" || FNCVALUE="$?"
# Value OK and String on STDOUT
echo "VALUE : $FNCVALUE"
echo "STRING: $FNCSTRING"
}
在bash输出:
VALUE :
STRING:ABC
ABC
VALUE:1
STRING(当然空的,但是从功能上回荡) `
现在我简单的问题:
是否有可能通过一个单一的线建设得到返回的字符串,返回值到两个不同的变量?
我不想使用全局变量,nore使用if $?之后的子通话!
非常感谢您的帮助,并为我的德语英语感到抱歉!
感谢这个完美的答案,在<<<建设......,谷歌知道! – 2013-04-21 19:29:04
如果'func()'返回的字符串包含空格,则这将不起作用。 – jordanm 2013-04-21 19:55:47
是的,但它可以在函数内部用echo“\'a b c \'”引用到一个变量来从调用者读取 – 2013-04-21 20:26:56