シェルスクリプトの「pass」で取得したパスワードを使用する方法

シェルスクリプトの「pass」で取得したパスワードを使用する方法

使用中にパスワードを保存しました。passそれに基づいて、Cisco Anyconnectを使用してVPN接続プロセスを自動化したいと思います。 VPNが正常に動作していることを確認しました。スクリプト私が使用したいのは次のとおりです。

pass=$(pass branch/key)
vpn -s connect vpn.server.host << "EOF"
0
username
"$pass"
y
exit
EOF

として保存したと仮定すると、.connectvpnVPNsource .connectvpnトンネルを開始して接続を確立する必要があります。

ファイルから使用したい変数(pass)を削除し、実際のパスワードを5行目に入力すると機能することがわかります。私が経験している問題はbash変数アプローチにあります。

ベストアンサー1

問題は、区切り文字を引用することです"EOF"。ここで文書の区切り文字を引用すると、本文ではパラメータ拡張が実行されないため、パスワードにはリテラル値があります"$pass"EOF引用符なしで区切り文字を使用してみてください。

おすすめ記事