lib-file이 하나 있습니다. 그것은 ponOS
함수의 하나의 wrapper-like 대체를가집니다. 나는 그것이 호출되는 함수의 ponOS 이름을 표시하고 싶다.bash FUNCNAME 값 확장
$> cat ./parasha_lib.sh
#!/bin/bash
function ponOS {
echo "$1: hello from ponOS"
}
ponOS='ponOS ${FUNCNAME}'
그러나이 솔루션은 내가 원하는만큼 효과가 없었습니다.
$> cat ./test.sh
#!/bin/bash
source ./parasha_lib.sh
function main {
echo "message from ${FUNCNAME}"
ponOS
}
main
그래서,
$> ./test.sh
message from main
: hello from ponOS
있어하지만이 얻을 싶어 :
$> ./test.sh
message from main
main: hello from ponOS
어떻게해야합니까?
여기서 중요한 것은 ./test.sh를 수정하면 안된다는 것입니다 (ponOS $ {FUNCNAME} 해결책이 아님).
+1 좋은 답변입니다. –
감사 글렌 ... –