bash_profile의 함수를 bash 스크립트로 호출하는 방법

bash_profile의 함수를 bash 스크립트로 호출하는 방법

기능이 있어요.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을 호출할지 여부를 고려할 수도 있습니다. 대신 함수 라이브러리에 대한 별도의 스크립트 파일을 생성할 수 있습니다.

관련 정보