EOF를 사용하여 변수 보내기 및 호스트 변수 사용

EOF를 사용하여 변수 보내기 및 호스트 변수 사용

소스에서 호스트로 변수를 보내고 호스트 스크립트를 실행하고 싶습니다. 이것은 내 코드입니다.

var1=1
ssh -p 42 root@xxx /bin/bash << EOF
  var2=2
  echo $var1
  echo $var2
EOF

반품:1

var1=1
ssh -p 42 root@xxx /bin/bash << \EOF
  var2=2
  echo $var1
  echo $var2
EOF

반품:2

반환 방법:

1
2

?

답변1

로컬 셸을 확장 $var1하고 원격 셸을 확장하려고 합니다 $var2.

var1=1
ssh -p 42 root@xxx /bin/bash << EOF    # un-quoted/escaped
  var2=2
  echo $var1
  echo \$var2
EOF

관련 정보