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

관련 정보