从ssh调用嵌套的shell脚本

时间:2013-05-15 13:41:54

标签: shell scripting ssh

我有两个shell脚本;让我们调用那些script1和script2。

在script1中,我调用了script2。当我从本地终端调用script1时它工作正常,但当我通过ssh启动这个命令时:

plink.exe -ssh hostname -l user -pw password "path to script1/script1"

我收到此错误:

  

脚本2未找到。

现在我可以在script1中放一个绝对路径来调用script2,但问题是script2调用其他脚本等等......

我可以避免ssh从root查找命令吗?

2 个答案:

答案 0 :(得分:1)

在script1中,尝试在脚本开头添加它有助于:

cd $(dirname "$0")

或者在调用script2时调用pushd / popd。

pushd $(dirname "$0")
relative_path_for_script2/script2 arg1 arg2 ...
popd

如果在从终端手动呼叫时,您需要从特定目录执行script1,而不是说/tmppushd该目录。

答案 1 :(得分:0)

script1或调用它的代码中设置PATH