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

#!/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输入了其他文件(图像),所以我收到一条错误消息。

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

最佳答案

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

只是cd首先,应该没问题:

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

10-07 23:51