기능이 있어요.bash_profile
certspotter(){
curl -s https://certspotter.com/api/v0/certs\?domain\=$1 | jq '.[].dns_names[]' | sed 's/\"//g' | sed 's/\*\.//g' | sort -u | grep $1
}
Bash 스크립트에서 함수를 호출하려고 합니다.test.sh
그런데 아래와 같은 오류가 발생합니다
test.sh: 4: test.sh: certspotter: not found
그 스크립트에서 그것을 호출하는 방법
답변1
함수가 정의된 위치(.bash_profile)를 내보내야 합니다.
export -f certspotter
답변2
여기에는 두 가지 문제가 있는 것 같습니다. 첫째, 함수를 정의하려면 function
적어도 내 시스템에서는 키워드가 필요하므로 함수 정의는 다음과 같습니다.
function certspotter(){
curl -s https://certspotter.com/api/v0/certs\?domain\=$1 | jq '.[].dns_names[]' | sed 's/\"//g' | sed 's/\*\.//g' | sort -u | grep $1
}
그런 다음 주석에서 언급한 대로 함수를 호출하는 스크립트는 함수가 포함된 파일을 가져와야 합니다. 지금까지 설정했으므로 다음과 같습니다.
. .bash_profile
그러나 함수를 가져오기 위해 .bash_profile을 호출할지 여부를 고려할 수도 있습니다. 대신 함수 라이브러리에 대한 별도의 스크립트 파일을 생성할 수 있습니다.