【问题标题】:How to run multiple scripts in remote machine如何在远程机器上运行多个脚本
【发布时间】:2016-10-12 10:16:02
【问题描述】:

我必须远程连接到网关(在 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 或任何其他替代方法在我的网关中不起作用

【问题讨论】:

  • 你可以这样做。 ssh bar@foo "command1 && command2"
  • 它不工作:(
  • 你有什么错误吗?
  • no..看到进入那个网关我必须给一个密码..所以一旦我在运行这个之后给出那个密码:ssh root@10.138.77.150 "cd / opt/swfiscal/signingModule && ./signingModule",那么什么都没有发生
  • 这很奇怪。检查至少此命令是否适合您。 ssh root@10.138.77.150 "cd /opt && ls"

标签: linux bash shell ubuntu remote-access


【解决方案1】:
ssh root@10.138.77.150 "cd /opt/swfiscal/signingModule && ./signingModule"

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

【讨论】:

  • 我会试试这个。但是如果我想在不同的终端运行多个文件怎么办
【解决方案2】:

您可以将多个命令传递给 ssh 以依次运行它们;但我更喜欢不同的解决方案:我在本地有 whole 脚本;远程运行它们意味着:

  1. 使用 scp 将我的脚本复制到远程系统
  2. 使用 ssh 然后在远程系统上运行脚本

这里的一大优势:当直接向 ssh 发出命令时,总是有可能出错(例如:引用)。但是,当您将所有内容放入脚本中时,您可以精确/完全控制将要发生的事情。您可以将“set -e”之类的内容放入脚本中以改进错误处理...

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

【讨论】:

  • 对不起,我真的不明白这个东西..我不是 bash 脚本方面的专家..还在学习..如果你能解释一下这将非常有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-20
  • 1970-01-01
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 2011-06-30
相关资源
最近更新 更多