有没有一种方法可以使用包含包含的文件远程执行文件?

有没有一种方法可以使用包含包含的文件远程执行文件?

我正在尝试执行 ssh 命令来远程执行文件。

ssh root@abc 'bash -s ' < filename.sh

但它不起作用,因为filename.sh有一个引用另一个文件的./命令。source

例子 :

filename.sh

#!/bin/bash

echo 'hello'

. parameter.sh

echo 'Hello'

如何远程运行该filename.sh文件?无需转移parameter.sh

答案1

一般来说你不能,但在这种情况下,你可以这样做:

{
  cat parameter.sh
  grep -xvF '. parameter.sh' filename.sh
} | ssh host bash -s

即将两个文件的内容作为输入传递到远程bash并删除.不再需要的命令。

相关内容