
Я получаю доступ к удаленной машине с помощью команды 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" выполняет подстановку переменных и процессов, поэтому вам нужно экранировать обратные кавычки, чтобы получить желаемый результат.