【发布时间】:2016-03-28 16:24:24
【问题描述】:
我想在远程机器上执行一个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 脚本一起传递?
【问题讨论】:
-
使用
scp? -
@anishsane :当目标不是复制时,为什么要使用
scp? -
scp 是使文件成为目标的最可靠方法。还有其他选择,比如通过
stdin(ssh user@remote_host 'cat >/path/to/config.file; /remote/command' < /local/config.file) 发送,但 scp 是最可靠的方式。