![로컬 스크립트에서 원격으로 생성된 변수 사용](https://linux55.com/image/120006/%EB%A1%9C%EC%BB%AC%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%9B%90%EA%B2%A9%EC%9C%BC%EB%A1%9C%20%EC%83%9D%EC%84%B1%EB%90%9C%20%EB%B3%80%EC%88%98%20%EC%82%AC%EC%9A%A9.png)
이 스크립트가 있습니다.
#!/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