我必须远程连接到网关(在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:找不到文件
请帮我解决这个问题。提前谢谢。
注意:
Gnome-Terminal
或其他任何替代方法无法在我的网关中使用答案 0 :(得分:0)
ssh root@10.138.77.150 "cd /opt/swfiscal/signingModule && ./signingModule"
行source configPath
不起作用,因为您需要指定文件的完整路径。
答案 1 :(得分:0)
您可以将几个命令传递给ssh以按顺序运行它们;但我更喜欢不同的解决方案:我在本地有整个脚本;并远程运行它们意味着:
这里的一大优势是:当直接向ssh发出命令时,总有可能出错(例如:引用)。但是当你把所有东西放到一个脚本中时,你可以完全/完全控制将要发生的事情。你可以像&#34; set -e&#34;进入你的脚本以改善错误处理...
(当然,您也可以自动执行上面列出的两个步骤!)