我正在尝试远程运行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脚本时接受依赖关系
答案 0 :(得分:5)
我认为您的问题是工作目录。尝试这样的事情:
cat input.txt | ssh clrg@192.168.2.22 "sh -c 'cd /path/to/shell/script; ./tokenize.sh'"
您的脚本似乎只能从特定的工作目录运行。您在评论中提到的有关相对路径的错误消息(从../../
开始)至少表明了这一点。