쉘 함수에서 임의의 값 반환을 시뮬레이션하는 방법은 무엇입니까?

쉘 함수에서 임의의 값 반환을 시뮬레이션하는 방법은 무엇입니까?

쉘 함수는 단지 명령문일 뿐이며 값을 반환하지 않습니다. Bash에서 값을 반환하는 함수 작성에 대한 모범 사례를 공유할 수 있는 사람이 있나요?

두 문자열을 연결하는 함수가 있다고 가정해 보겠습니다.

JoinStrings() {
    returnValue="$1$2"
}

내 코드에서 이 함수를 어떻게 재사용할 수 있나요? returnValue발신자에게 어떻게 응답할 수 있나요 ? 이 함수 호출 후에 전역 변수로 사용해야 합니까? 이로 인해 어디에서나 전역 변수에 많은 버그가 발생합니다. 셸에서 코드를 재사용하는 방법은 무엇입니까?

답변1

유닉스와 GNU에서는표준 출력함수의 값은 반환값으로 생각할 수 있습니다.

다음은 쉘 명령 확장을 사용하는 예입니다 $(...).

JoinStrings() {
    echo "$1$2"
}

joined_strings=$(JoinStrings string1 string2)

echo string1 and string2 joined are $(JoinStrings string1 string2)

return명령의 종료 코드(상태 코드)를 설정하는 함수에 사용되는 쉘 문이 있습니다 . 종료 코드는 작은 정수입니다.

관련 정보