GPG에 답변을 피드하세요

GPG에 답변을 피드하세요

나는 다음과 같은 것을하고 싶습니다 :

echo -e "trust\n5" | gpg --edit-key "Dor"

사전에 작성된 답변을 GPG에 제공하기 위해.

하지만 작동하지 않습니다. 어떤 아이디어?

답변1

echo -e "trust\n5" | gpg --edit-key "Dor"gpg에서 답변을 읽지 않고 읽기 위해 직접 stdin열리기 때문에 작동하지 않습니다 /dev/tty.

이 문제는 다음과 같이 해결될 수 있습니다.expect, 대화형 애플리케이션을 자동화하는 도구입니다.

답변2

Thomas Nyman이 대답했듯이 해결책은 expect유사한 도구를 사용하는 것입니다.

안타깝게도 expect배우고 사용하기 어려울 수 있으며, 한 가지 작업에만 사용할 수 있는 언어를 배우려면 시간과 노력에 대한 상당한 투자가 필요합니다. Perl이나 Python을 사용하는 것이 장기적으로 더 쉽고 유용하다는 것을 알 수 있습니다. 둘 다 NET과 동일한 작업을 수행하는 데 사용할 수 있는 라이브러리가 있습니다 expect.

Perl의 경우에는 다음과 같습니다.기대하세요.pm

Python의 경우 다음을 살펴보세요.기대하다

이들 둘 다 이미 Linux 배포판용으로 패키지되어 있을 것입니다. 예를 들어 데비안에서는 libexpect-perl및 입니다 python-pexpect.

그런데, 귀하의 질문과 특별히 관련이 있는 것은 아니지만 Perl에는 expect네트워크 연결을 통해 유사한 작업을 수행하기 위해 특별히 설계된 라이브러리/모듈(예: Perl Net::SSHNet::Telnet모듈)도 있다는 점에 주목할 가치가 있습니다. Python에도 비슷한 라이브러리가 있습니다.

관련 정보