所以我在环境变量中设置了 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
环境变量可以包含'
s,您可能需要转义它们:
send "export RSA_KEY='[regsub -all {'} $::env(MY_KEY) {'\''}]'\r"
expect -re {.*\$}