我正在尝试执行 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
并删除.
不再需要的命令。