シェルスクリプトから.muttrcに変数を渡すにはどうすればよいですか?

シェルスクリプトから.muttrcに変数を渡すにはどうすればよいですか?

私はmuttmutt-kz実際に移行したいが、これはより大きなプロジェクトです)私のSMTPパスワードを設定ファイルにプレーンテキストとして保存する必要がないようにneomuttここからインポートしたいのですpass.muttrc

これが私が持っているものです.muttrc

source ~/.mutt/pass.sh|
set smtp_pass = $my_pass

次に、次の.mutt/pass.shものを含めます。

#! /bin/bash
my_pass=$(pass Example/user)

コマンドラインから追加してecho ${my_pass}実行すると、私のパスワードが表示されます。pass.sh

起動時にgpgキーのロックをmutt-kz解除するように求められ、一部のpass機能が機能しますが、Muttからメールを送信しようとすると、SMTPパスワードを要求し、パスワードを入力しないと電子メールは送信されません。 SASL認証に失敗しました」

それでは...シェルスクリプトの変数を自分のスクリプトに正しく渡すにはどうすればよいですか.muttrc

ベストアンサー1

プログラムは~/.mutt/pass.sh以下のように出力を生成する必要があります。

set my_pass = swordfish

だから、

#!/bin/sh
echo "set my_pass = swordfish"

パスワードに特定の特殊文字(\'"およびスペース)が含まれている場合は、次のことを行う必要があります。引用する。たとえば、パスワードがテキストファイルにある場合は、次のようになり~/passwords/smtp.txtます。

#!/bin/sh
~/passwords/smtp.txt sed 's/["$`\\]/\\&/g; s/^/set my_pass = "/; s/$/"/'

パスワードの場合、sword\fishこの内容が印刷されますset my_pass="sword\\fish"

Gnomeキーリングを使用してパスワードを保存する場合は、このsecret-toolユーティリティを使用してキーリングからパスワードを読み取ることができます。たとえば、次はOffice 365パスワードに使用します(パスワードには引用符を付ける必要がある特殊文字は含まれていません)。

source 'printf "set imap_pass="; secret-tool lookup action_url https://login.microsoftonline.com/common/login |'

おすすめ記事