
SSH 명령에서 명시적으로 원격 환경 변수를 설정하려고 합니다.
ssh worker-2 "export OPENBLAS_NUM_THREADS=1; echo $OPENBLAS_NUM_THREADS"
이상하게도 이것은 빈 줄만 인쇄하지만 동일한 명령을 로컬에서 실행하면 올바르게 인쇄됩니다 1
.
변수를 명시적으로 설정했는데 원격으로 작동하지 않는 이유는 무엇입니까?
답변1
$OPENBLAS_NUM_THREADS
bash
원격 시스템으로 전송되기 전에 에서 로컬로 평가 중입니다 .
다음 중 하나를 이스케이프 처리해야 합니다 $
.
ssh worker-2 "export OPENBLAS_NUM_THREADS=1; echo \$OPENBLAS_NUM_THREADS"
또는 bash 변수 평가를 방해하는 작은따옴표를 사용하십시오.
ssh worker-2 'export OPENBLAS_NUM_THREADS=1; echo $OPENBLAS_NUM_THREADS'