로컬 스크립트에서 원격으로 생성된 변수 사용

로컬 스크립트에서 원격으로 생성된 변수 사용

이 스크립트가 있습니다.

#!/bin/bash
ssh server bash -c "'
if [[ "\$?" -ne "0" ]]; then
PRINT="N"
echo \${PRINT}
else
PRINT="Y"
echo \${PRINT}
fi
'"
echo $PRINT

그러나 로컬 $PRINT는 비어 있습니다. 이 변수를 원격에서 로컬로 전달하는 방법은 무엇입니까?

감사해요!

답변1

원격 서버에서 다른 bash 프로세스의 셸을 제거하고 전체 명령 출력을 변수(이 경우 resp)로 읽습니다.

#!/bin/bash
resp=$(ssh server '
if [[ "\$?" -ne "0" ]]; then
PRINT="N"
echo \${PRINT}
else
PRINT="Y"
echo \${PRINT}
fi')

echo $resp

관련 정보