まず、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: (確かに空ですが、関数からエコーされます) `
そして今、私の簡単な質問:
返される文字列と返される値を 2 つの異なる変数に取得することは可能ですか?シングルライン構造?
私はグローバルを使いたくないし、if $? も使いたくない。サブコールの後!
助けてくれてありがとう、そして私のドイツ語英語でごめんなさい!