나는 이런 일을하고 싶다 :
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
배우고 사용하는 것이 어려울 수 있으며, 한 가지 작업에만 사용할 수 있는 언어를 배우려면 상당한 시간과 노력이 필요합니다. .expect
Perl의 경우오후 예상
Python의 경우 다음을 확인하세요.예상되는
이 두 버전은 이미 Linux 배포용으로 패키지되어 있을 수 있습니다. 예를 들어 debian에서는 libexpect-perl
및 입니다 python-pexpect
.
그건 그렇고 , 귀하의 질문과 특별히 관련이 없지만 Perl에는 expect
네트워크 연결을 통해 유사한 작업을 수행하도록 특별히 설계된 라이브러리/모듈 도 있다는 점에 주목할 가치가 있습니다 . Python에도 비슷한 라이브러리가 있습니다.Net::SSH
Net::Telnet