if type Function &>/dev/null
then
...
fi
예 : 여기에 내가 무엇을
$ type f 2>& /dev/null && echo f exists || echo f does not exist
f does not exist
$ f()
> {
> echo 1
> }
$ type f >& /dev/null && echo f exists || echo f does not exist
f exists
?
- 여기에 함수
f
이 있는지 먼저 확인합니다. 그것은 존재하지 않는다, 좋아.
- 그럼 만듭니다.
- 그런 다음 다시 확인합니다. 그것은 존재한다, ok.
추가 검사없이 명령, 별칭 또는 기능인 경우 직접 말할 수 없습니다. 이 엔티티가 존재하거나 존재하지 않는다면 당신이 알고있는 모든 것. 이 기능 만 기능을 실행하려면
, 당신은 당신의 검사가 엄격해야합니다 : 배쉬에서
type Function | grep -q '^function$' 2>/dev/null
당신은 또한 declare -F function
를 사용할 수 있습니다. (다른 사람에게 감사)
+1. 더 간결하게, 그 조언을 하나의 테스트에 결합하십시오 : if [[$ (type -t $ funcname 2>/dev/null) == function]]; then echo "나는 함수 다." fi' –
'선언 -F 함수>/dev/null' –
"함수가 존재하면 bash에서 검사와 같은 연산이 없다"- 예있다. 'help declare'를 참조하십시오. – l0b0