SSH远程命令执行脚本

时间:2014-03-18 22:24:19

标签: bash ssh

我有两个主机,主机A和B.一个脚本(生成)编译我的论文:

#!/bin/sh
pdflatex Thesis.tex

在主机A(控制台窗口)上运行此命令时,它可以正常工作。

我基本上尝试从主机B连接到A并将生成命令作为ssh远程命令运行。所有键都已正确设置。当我运行命令时,我得到以下内容:

hostB> ssh user@hostA exec ~/Thesis/generate
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
entering extended mode
! I can't find file `Thesis.tex'.
<*> Thesis.tex

我尝试调整脚本以便它考虑目录:

pdflatex ~/Thesis/Thesis.tex

但是因为Thesis.tex输入了其他一些文件(图像),我收到一条错误信息。

我认为问题是远程命令中不存在的某种环境。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

ssh将在您的主目录中运行您的命令。您可能希望在~/Thesis目录中运行它。

首先cd,它应该没问题:

ssh user@hostA 'cd ~/Thesis && ./generate'