함수가 상위 범위로 돌아가도록 만드는 방법은 무엇입니까?

함수가 상위 범위로 돌아가도록 만드는 방법은 무엇입니까?

나를 짜증나게 하는 것은 이것이 return 0파일을 가져오고 하위 쉘을 실행할 때만 필요하다는 것입니다 exit 0. 나는 다음을 수행할 수 있도록 코드가 상위 범위에서 평가될 함수를 만들려고 합니다.

return 0 2>/dev/null
exit 0

반환이 실패하면 종료가 작동하고 모든 경우를 포괄하므로 이는 상위 범위에서 가장 간단한 솔루션입니다. 그러나 물론 상위 범위에 코딩된 경우에만 작동합니다. 함수 범위 내의 반환은 분명히 다음에서 반환되기 때문입니다.오직기능.

이것이 어떻게 가능한지? 나는 단순함을 선호하지만 이 질문은 불가능할 수도 있습니다

답변1

한 가지 해결책은 이것입니다. 스크립트가 자체 프로세스에서 시작되었는지 또는 자체 프로세스에서 실행 중인지에 관계없이 종료 코드 42를 사용하여 스크립트를 종료한다고 가정해 보겠습니다.

return 42 || exit 42

그것은 시도하는 것입니다 return 42. 실패하면 시도해 보세요 exit 42. 실패할 것이라고 예상하지 마세요.

관련 정보