我正在使用 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。这可能不是您想要的。 “此处文档”进行变量和过程替换,因此您必须转义反引号才能获得所需的结果。