3
우선 배시 함수의 리턴에있어서 테스트 내 소스 코드 :배시 기능
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"
}
떠들썩한 파티에서 출력 :
VALUE :
문자열 : ABC
ABC
값 : 1 012 3,STRING : (반드시 비어 있지만, 함수에서 에코) `
그리고 지금 내 간단한 질문 :
그것은 하나의 라인 건설에 의해 두 개의 서로 다른 변수로 복귀 문자열과 반환 값을 얻을 수 있습니까?
전역 변수를 사용하고 싶지 않습니다. $가 아닌 경우에는 사용할 수 없습니까? 하위 호출 후!
많은 도움에 감사하고, 나의 독일어 영어에 대해 유감스럽게 생각한다!
감사를 반환 할 것이라고 <<< 건설 ... 구글은 알고있다! –
'func()'에 의해 반환 된 문자열이 공백을 포함하고 있다면 이것은 작동하지 않을 것입니다. – jordanm
네, 그렇지만 echo "\ 'a b c \'"함수를 사용하여 호출자로부터 읽기 위해 하나의 변수에 인용 할 수 있습니다 –