Я получаю доступ к удаленной машине в Linux с помощью скриптов Bash.

Я получаю доступ к удаленной машине в Linux с помощью скриптов Bash.

Я получаю доступ к удаленной машине с помощью команды ssh и файла pem. Мой код выглядит следующим образом:

#!/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

Когда я использую этот скрипт, я не могу сохранить значение в переменной, но если я запускаю команду в терминале, она работает. Когда я запускаю скрипт, я получаю ошибку No such file or directory found. Можете ли вы мне помочь в этом?

решение1

Команда

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

выполняетсялокальнона вашей машине, перед отправкой по ssh. Это, вероятно, не то, что вы хотели. "Документ here" выполняет подстановку переменных и процессов, поэтому вам нужно экранировать обратные кавычки, чтобы получить желаемый результат.

Связанный контент