
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 document」は変数とプロセスの置換を行うので、目的の結果を得るにはバックティックをエスケープする必要があります。