我正在使用 Bash 脚本访问 Linux 中的远程计算机

我正在使用 Bash 脚本访问 Linux 中的远程计算机

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

相关内容