![运行 ssh 多个命令时如何将带有路径输出的命令放入变量中](https://linux22.com/image/189886/%E8%BF%90%E8%A1%8C%20ssh%20%E5%A4%9A%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%97%B6%E5%A6%82%E4%BD%95%E5%B0%86%E5%B8%A6%E6%9C%89%E8%B7%AF%E5%BE%84%E8%BE%93%E5%87%BA%E7%9A%84%E5%91%BD%E4%BB%A4%E6%94%BE%E5%85%A5%E5%8F%98%E9%87%8F%E4%B8%AD.png)
我想编写一个 bash 脚本,它将 ssh 到远程计算机,将“find”命令的输出放入变量中,然后将该变量用于 ssh 内的后续命令。我知道我可以通过 ssh 接收我需要的路径,然后再次 ssh 到同一台远程计算机:
PATH=$(ssh $SERVER_NAME find /something/something_else | grep -G "end_of_the_file_i_need$")
但我想节省一些尝试重新连接的时间,并使脚本对于我正在做的事情更有组织性。如果可能的话,希望做出更接近于此的东西:
ssh $SERVER_NAME <<EOF
PATH=$(find /something/something_else | grep -G "end_of_the_file_i_need$")
...
...
...
EOF
在第二个示例中,它尝试从原始计算机“查找”文件,而不是从我连接的计算机“查找”文件。