openssl 명령 출력을 저장하시겠습니까?

openssl 명령 출력을 저장하시겠습니까?

인증서 비밀번호를 확인하려고 시도하는 스크립트를 작성 중입니다. 이것이 내 생각이다.

passtest=$(openssl pkcs12 -info -in $CERTPATH -passin pass:$certpass)
if [[ $passtest == *"invalid password"* ]]; then
    NotOK
else
    Ok
fi

그러나 $passtest 변수에는 아무것도 할당되지 않습니다. 이 접근 방식은 다른 명령과 함께 작동하지만 openssl 명령의 출력이 다른 곳으로 향하는 것처럼 보입니까? 스크립트가 실행되는 동안 화면에 표시되는 출력입니다.

어떤 아이디어가 있나요?

답변1

openssl오류 신고표준 에러. 으로 리디렉션해야 합니다.표준 출력첫 번째. 이것은 작동합니다:

passtest=$(openssl pkcs12 -info -in $CERTPATH -passin pass:$certpass 2>&1)

관련 정보