如何在远程运行shell脚本时解决依赖关系?

时间:2014-02-13 11:10:19

标签: linux bash shell ssh sh

我正在尝试远程运行shell脚本。我在一台机器上有一个资源(.txt文件),在另一台机器上有一个shell脚本,但是在同一个网络中。该脚本驻留在特定目录中,并且该脚本获取一些二进制文件,这些文件驻留在目标计算机中的所有其他目录中。现在,我无法远程运行脚本。但我可以运行一个没有任何本地依赖项的简单shell程序。你能建议一个解决方案来解决这个问题吗?

这是我用来运行shell-script-without-any-dependencies的命令。

cat input.txt | ssh clrg@192.168.2.22  "sh path/to/shell/script/tokenize.sh"  

在运行带有依赖项的脚本时,我收到以下错误,

"ambiguous redirect"  
../../deter-4/bin/determine: No such file or directory  
../../deter-4/bin/determine1: No such file or directory

现在,如何在运行shell脚本时接受依赖关系

1 个答案:

答案 0 :(得分:5)

我认为您的问题是工作目录。尝试这样的事情:

cat input.txt | ssh clrg@192.168.2.22  "sh -c 'cd /path/to/shell/script; ./tokenize.sh'"

您的脚本似乎只能从特定的工作目录运行。您在评论中提到的有关相对路径的错误消息(从../../开始)至少表明了这一点。