반복하지 않고 함수 정의 및 내보내기

반복하지 않고 함수 정의 및 내보내기

나는 이것을 할 수 있다는 것을 안다:

function foo() { echo "foo"; }; export -f foo

그런데 함수 이름을 반복하지 않고 이 작업을 수행할 수 있나요?

답변1

set -a    # or: set -o allexport

# will be exported:
foo () {
   echo foo
}

set +a    # or: set +o allexport

# will not be exported:
bar () {
    echo bar
}

allexport셸 옵션을 설정하면 bash옵션을 설정할 때 정의한 모든 기능이 내보내집니다. 이 옵션이 필요한 파일 부분에 대해 이 옵션을 설정한 다음 설정을 해제할 수 있습니다.

이는 정의된 변수에도 영향을 미치지만(자동으로 환경 변수로 변환됨) 함수 정의 내의 변수에는 영향을 미치지 않습니다.

관련 정보