Bashスクリプトからpinentryを呼び出す方法

Bashスクリプトからpinentryを呼び出す方法

pinentry私のスクリプトを呼び出す同じ端末で単一の入力を要求し、その項目を別のコマンドにパイプするようにbashスクリプトから呼び出すにはどうすればよいですstdoutか?この質問のためにecho

答えはこれであることを願っています

pinentry-tty <this is what I dont know> | echo

私の質問は次のことではありません。

  • gpg
  • ssh
  • git
  • コマンドライン以外のものを使用する方法pinentry
  • 以下を使用して環境変数を設定する方法read -s

次のように仮定しましょう。

  • 2番目のGoogleページに合格しました。
  • 使ったpinentry info

私のシステムの現在のバージョンで答えがうまくいったらいいのに、テストしないことを願っています。

pinentry-tty (pinentry) 1.2.0
Copyright (C) 2016 g10 Code GmbH
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

私の質問の口調は気に入らないが、できるだけ明確に説明したい。

ベストアンサー1

Ichthyoのコメントが共有した回答が役に立ちます。 GUI を使用せずに端末に PIN を入力するには:

sudo update-alternatives --config pinentry

を選択しますpinentry-curses

まあ、あなたのスクリプトはSOの答えと同じです。

tty=$(tty)

pwd=$(echo "GETPIN" | pinentry -T $tty | grep D)

pwd=${password#D }

さらにコマンドを追加することもできます(検索ここ) 区切り記号\n:

pwd=$(echo "setdesc my program\nsetprompt please enter password:\nGETPIN\n" | pinentry -T $tty | grep D)

おすすめ記事