SSH с heredoc не может изменить переменную - PullRequest
0 голосов
/ 23 января 2019

Я использую SSH с heredoc для управления удаленным ПК:

val=0    
ssh -p 1046 name@10.122.78.99 > result.txt 2>&1 << 'eeooff'
    echo $PATH
    echo "start"
    export vv=333
    echo $vv
    echo "end"
    val=10
eeooff
echo $val

Когда я проверяю result.txt, я обнаружил, что echo $PATH работает, но echo $vv ничего не дает. Зачем? Запрещена ли установка переменной при использовании SSH с heredoc?

И $val по-прежнему 0. Как изменить до 10 при использовании SSH с heredoc?

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Вы также можете:

ssh -p 1046 name@10.122.78.99 > result.txt 2>&1 << 'eeooff'

Это позволит избежать расширения всех переменных. Видно здесь: Как избежать расширения переменных heredoc?

0 голосов
/ 23 января 2019

Ваша локальная оболочка - это та, у кого есть расширение $ vv, вы должны экранировать его следующим образом \ $ vv.

Извините за мой английский.

...