값을 반환하고 오류 메시지를 인쇄하는 Bash 함수

값을 반환하고 오류 메시지를 인쇄하는 Bash 함수

인수를 반환하는 데 사용되었음에도 불구하고 오류를 인쇄하는 함수를 작성할 수 있습니까?

이거 해봤는데 안되네요...

my_function() {
    echo "return value"
    >&2 echo "error message"
}

echo $(my_function) >> /dev/null 

콘솔 출력을 기대합니다

error message

편집: 이것이 실제로 작동하는 방식입니다.

답변1

만 사용하십시오 my_function 1>/dev/null.

$ my_function() {
    echo "return value";
    >&2 echo "error message";
}

$ my_function 1>/dev/null
error message

$ my_function 2>/dev/null
return value

답변2

완료하려면:

my_function() {
    echo "return value"
    >&2 echo "error message"
}

MY_VAR=$(my_function)

echo $MY_VAR

이제 올바른 순서로 원하는 정확한 출력을 제공합니다.

error message
return value

관련 정보