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)