예상되는 명령: 호스트의 여러 줄 환경 변수 설정

예상되는 명령: 호스트의 여러 줄 환경 변수 설정

그래서 환경 변수에 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 {.*\$}

관련 정보