
최근에 macport를 통해 bash(Mac OS X 10.6.8)를 3.2.48(1)에서 4.3.30(1)으로 업그레이드했는데 설치가 순조롭게 진행된 것 같지만 ~/.bashrc의 두 지점은 나는 export -f myfunc;
예상치 못한 결과를 낳은 것 같았다. man
및 를 포함한 다양한 항목에서 more
다음 오류가 발생합니다.
/bin/sh: line 6: 'BASH_FUNC_myfunc%%': not a valid identifier
export -f
~/.bashrc에는 다른 스크립트가 해당 함수를 호출할 수 있도록 하는 두 개의 함수가 정의되어 있습니다 . 오류는 ~/.bashrc에 있는 첫 번째 오류를 참조합니다. 줄 번호가 어디에서 왔는지 모르겠습니다. 보조 스크립트는 정상적으로 작동하며 플래그를 제거 export
하거나 -f
플래그를 지정하면 오류가 제거되지만 분명히 스크립트가 함수를 호출할 수 없게 됩니다.
이 동작의 원인은 무엇이며 bash 4에서 기능을 올바르게 내보낼 수 있는 방법은 무엇입니까?