予想されるコマンド:ホストの複数行環境変数の設定

予想されるコマンド:ホストの複数行環境変数の設定

だから環境変数にRSAトークンを設定しました。リモートコンピュータの環境で設定したいです。これを設定するために次のスクリプトを試しましたが、最初の行だけを設定しました-----BEGIN OPENSSH PRIVATE KEY-----

#!/usr/bin/expect -f

spawn ssh -tt ec2-user@$::env(EC2_INSTANCE)

send "export RSA_KEY=$::env(MY_KEY)\r"
expect -re ".*\$"

すべてをどのように設定しますか?

ベストアンサー1

値を一重引用符で囲みます。

send "export RSA_KEY='$::env(MY_KEY)'\r"
expect -re {.*\$}

{.*\$}代わりに注意してください".*\$"。あなたの".*\$"意志は.*$一致するでしょう。何もない、空の文字列を含みます。

MY_KEY環境変数にを含めることができる場合は、'エスケープする必要があります。

send "export RSA_KEY='[regsub -all {'} $::env(MY_KEY) {'\''}]'\r"
expect -re {.*\$}

おすすめ記事