SSH 세션에서 선언된 변수를 내 쉘 스크립트에서 로컬로 사용하고 싶습니다.

SSH 세션에서 선언된 변수를 내 쉘 스크립트에서 로컬로 사용하고 싶습니다.

SSH 세션에서 선언된 변수를 사용하려고 할 때마다 빈 출력이 표시됩니다. 제가 실행하려는 코드는 다음과 같습니다.

ssh -T host <<\HERE
export usage1=$(df -h |grep /nas/infa|sed s/%//g| awk '{printf("%d\n",$4)}');
echo $usage1
HERE
echo $usage1

SSH 세션 내에서 원하는 출력을 얻을 수 있지만 SSH 외부에서 동일한 변수를 호출하면 공백이 표시됩니다.

답변1

원격으로 실행된 명령의 값을 로컬 환경의 변수로 가져오는 것은 로컬로 실행된 명령의 값을 로컬 환경으로 가져오는 것과 같습니다. 예를 들어 다음과 같습니다.

export usage1=$(ssh -T host <<\HERE
df -h|grep /nas/infa|sed s/%//g|awk '{printf("%d\n",$4)}'
HERE
)
echo $usage1

관련 정보