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または同様のツールを使用することです。

残念ながら、は習得も使用も難しく、1 つのタスクにしか使用できない言語を習得するには、かなりの時間と労力がかかります。expectと同じことを実行できるライブラリを備えた Perl または Python を使用する方が簡単で、長期的にはより便利であることがわかるかもしれません。expect

Perlの場合は期待する

Pythonについては、期待する

これらは両方とも、おそらく Linux ディストリビューション用にすでにパッケージ化されています。たとえば、Debian では、 とlibexpect-perlですpython-pexpect

expectところで、あなたの質問とは特に関係ありませんが、Perl にも、ネットワーク接続を介して同様のことを行うために特別に設計されたライブラリ/モジュール (例: perlNet::SSHおよびモジュール) があることは注目に値しますNet::Telnet。Python にも同様のライブラリがあります。

関連情報