나는 이것을 할 수 있다는 것을 안다:
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
옵션을 설정할 때 정의한 모든 기능이 내보내집니다. 이 옵션이 필요한 파일 부분에 대해 이 옵션을 설정한 다음 설정을 해제할 수 있습니다.
이는 정의된 변수에도 영향을 미치지만(자동으로 환경 변수로 변환됨) 함수 정의 내의 변수에는 영향을 미치지 않습니다.