加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 01:05:53 所属栏目:Linux 来源:网络整理
导读:我写了一个bash脚本foo.sh #!/usr/bin/env bashecho "starting the script"; 我想在我的远程服务器上执行它. 我试过ssh user @ remote-addr test.sh,它工作. 之后我改变了test.sh文件 #!/usr/bin/env bashecho "starting the script";echo $1; 现在我想传递
我写了一个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兼容的shell)从标准输入读取其命令,而不是从第一个位置参数指定的文件.所有参数都被视为脚本的参数.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读