如何在远程计算机中运行多个脚本

时间:2016-10-12 10:16:02

标签: linux bash shell ubuntu remote-access

我必须远程连接到网关(在Linux平台上工作),其中我有几个可执行文件(signingModule.sh和taxModule.sh)。 现在我想在桌面上编写一个脚本,它将连接到该网关并在两个不同的终端中运行signingModule.sh和taxModule.sh。

我写了以下代码:

ssh root@10.138.77.150 #to connect to gateway

sleep 5

cd /opt/swfiscal/signingModule #path of both modules

./signingModule #executable.

但是通过这段代码,我能够连接我的网关,但在连接到网关之后没有任何事情发生。

第二段代码:

source configPath # file where i have given path of both the modules

cd $FCM_SCRIPTS # variable in which i have stored the path of modules

ssh root@10.138.77.150 'sh -' < startSigningModule** #to connect and run one module.

作为我得到的输出:

  

-source:configPath:找不到文件

请帮我解决这个问题。提前谢谢。

注意:

  1. 如果需要,我可以将我的文件粘贴到该网关中。
  2. Gnome-Terminal或其他任何替代方法无法在我的网关中使用

2 个答案:

答案 0 :(得分:0)

ssh root@10.138.77.150 "cd /opt/swfiscal/signingModule && ./signingModule"

source configPath不起作用,因为您需要指定文件的完整路径。

答案 1 :(得分:0)

您可以将几个命令传递给ssh以按顺序运行它们;但我更喜欢不同的解决方案:我在本地有整个脚本;并远程运行它们意味着:

  1. 使用 scp 将我的脚本复制到远程系统
  2. 使用 ssh 然后在远程系统上运行脚本
  3. 这里的一大优势是:当直接向ssh发出命令时,总有可能出错(例如:引用)。但是当你把所有东西放到一个脚本中时,你可以完全/完全控制将要发生的事情。你可以像&#34; set -e&#34;进入你的脚本以改善错误处理...

    (当然,您也可以自动执行上面列出的两个步骤!)