웹사이트의 인증서가 유효한지 확인하기 위한 간단한 스크립트를 작성 중입니다. 그러나 터미널에서 코드를 실행하려고 하면 openssl
명령을 찾을 수 없다는 오류 메시지가 나타납니다. 코드는 다음과 같습니다.
if true | openssl s_client -connect www.google.com:443 2>/dev/null | \
openssl x509 -noout -checkend 0; then
echo "Certificate is not expired"
else
echo "Certificate is expired"
fi
이 코드를 실행하려고 하면 다음과 같은 출력이 나타납니다.
./check-certificates.sh: line 6: openssl: command not found
Certificate is expired
코드는 실행되지만 유효한 명령으로 인식되지 않으므로 openssl
이를 언급하는 코드 줄을 건너뛰고 기본적으로 "인증서 만료됨"을 출력합니다.
다음을 사용할 때 sudo apt-get install openssl
이 메시지가 나타납니다 .
...
openssl is already the newest version (1.0.2g-1ubuntu4.15).
...
openssl
그럼 설치가 성공한 것 같습니다 . 이 문제를 해결하는 방법을 모르겠습니다. 누구든지 아이디어가 있습니까?
요청에 따라 출력은 다음과 같습니다 apropos openssl | grep "OpenSSL command line tool"
.
openssl (1ssl) - OpenSSL command line tool
그리고 locate openssl | grep /usr/bin
:
usr/bin/openssl
답변1
오류 메시지의 추가 공백을 참고하세요.
./check-certificates.sh: line 6: openssl: command not found
이는 쉘이 찾고 있는 명령이 아마도 깨지지 않는 공백으로 미리 예약되어 있지 않다는 것을 의미 openssl
합니다 openssl
.
openssl
앞의 공백이 "일반" 공백인지 확인하거나 제거하려면 스크립트를 편집해야 합니다 .
바라보다이 명령이 작동하지 않는 이유: "ps aux | grep xscreensaver"더 많은 정보가 있는 유사한 사례의 경우.