1

Я пытаюсь установить переменную удаленной среды явно в команде ssh:

ssh worker-2 "export OPENBLAS_NUM_THREADS=1; echo $OPENBLAS_NUM_THREADS"

Как ни странно, это печатает только пустую строку, но когда я запускаю ту же команду локально, она правильно печатает 1 .

Поскольку я устанавливаю переменную явно, почему она не работает удаленно?

1 ответ1

4

$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'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .