当前位置:  开发笔记 > 编程语言 > 正文

使用配置文件的ssh命令在远程机器中执行shell脚本

如何解决《使用配置文件的ssh命令在远程机器中执行shell脚本》经验,为你挑选了1个好方法。

我想在远程机器上执行shell脚本,我使用下面的命令实现了这个,

ssh user@remote_machine "bash -s" < /usr/test.sh

shell脚本在远程计算机中正确执行.现在我在脚本中做了一些更改,以从配置文件中获取一些值.该脚本包含以下行,

#!bin/bash
source /usr/property.config
echo "testName"

property.config:

testName=xxx
testPwd=yyy

现在如果我在远程机器上运行shell脚本,我没有收到这样的文件错误,因为/usr/property.config在远程机器中不可用.

如何将配置文件与shell脚本一起传递到远程机器中执行?



1> anand..:

只有这样您才能引用config您创建的文件并仍然运行脚本,您需要将配置文件放在所需的路径上,有两种方法可以执行此操作.

    如果config几乎总是修复并且您不需要更改它,请config在主机上本地运行脚本,然后在脚本中放置config文件的绝对路径,并确保运行脚本的用户有权访问它.

    如果每次要运行该脚本时都需要发送配置文件,那么scp在发送和调用脚本之前可能只是简单的文件.

    scp property.config user@remote_machine:/usr/property.config
    ssh user@remote_machine "bash -s" < /usr/test.sh
    

编辑

根据要求,如果你想在一行强行完成,这就是它的完成方式:

property.config

testName=xxx
testPwd=yyy

test.sh

#!bin/bash
#do not use this line source /usr/property.config
echo "$testName"

现在您可以像John建议的那样运行命令:

ssh user@remote_machine "bash -s" < <(cat /usr/property.config /usr/test.sh)

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有