Você está basicamente executando ssh host "var=value; echo $var"
. O shell executa a expansão de variável antes de ssh
receber o comando. Assim, o comando atual recebido por ssh
se torna:
var=$value; echo
Para evitar que o shell consuma seu dólar, use aspas simples:
ssh host 'var=value; echo $var'
Considerando seu comando, parece que você está tentando usar a saída de um comando no último. Para que isso aconteça, você deve fazer uso adequado da substituição de comandos:
host ssh 'output = $ (sudo lista virsh --all | awk "/ running / {print \ $ 2}" | tail -2); sudo virsh dominfo $ output '
Ou até mesmo:
host ssh 'sudo virsh dominfo $ (sudo lista virsh --all | awk "/ running / {print \ $ 2}" | tail -2)'
Isso pressupõe que sudo
esteja configurado para não solicitar uma senha, caso contrário você receberá um erro como:
sudo: no tty present and no askpass program specified