如何使用参数在远程服务器中执行本地脚本

我已经写了一个bash脚本foo.sh

#!/usr/bin/env bash

echo "starting the script";

我想在我的远程服务器上执行它。我尝试了ssh user@remote-addr < test.sh,它起作用了。

之后,我像这样更改了test.sh文件

#!/usr/bin/env bash

echo "starting the script";

echo $1;

现在,我想传递一个本地参数以与我的脚本一起执行,但是当我键入ssh user@remote-addr < test.sh

testparam它时会返回一个错误。

如何通过脚本传递参数?

回答:

使用该-s选项,该选项强制bash(或任何POSIX兼容外壳程序)从标准输入而不是从第一个位置参数命名的文件中读取其命令。而是将所有参数都视为脚本的参数。

ssh user@remote-addr 'bash -s arg' < test.sh

以上是 如何使用参数在远程服务器中执行本地脚本 的全部内容, 来源链接: utcz.com/qa/400184.html

回到顶部