Estou acessando a máquina remota no linux usando o script Bash

0

Estou acessando uma máquina remota usando o comando ssh e um arquivo pem. Meu código é o seguinte:

#!/bin/bash
ssh -i rijo.pem [email protected] <<EOF
sudo -s
var='cat /opt/revsw-config/varnish/sites/rijotests4934567_revsw_net.json | egrep 'SERVER_NAME' | cut -b 19-44'
EOF

Quando eu uso este script, não consigo armazenar o valor na variável, mas se eu executar o comando no terminal, ele funciona. Quando executo o script, recebo um erro No such file or directory found . Você pode me ajudar nisso?

    
por Rijo Mon 07.01.2015 / 11:21

1 resposta

1

O comando

cat /opt/revsw-config/varnish/sites/rijotests4934567_revsw_net.json | egrep 'SERVER_NAME' | cut -b 19-44

é executado localmente na sua máquina, antes de ser enviado para o ssh. Isso provavelmente não é o que você queria. O "aqui documento" faz a substituição de variáveis e processos, então você deve escapar dos backticks para obter o resultado desejado.

    
por 07.01.2015 / 11:35

Tags