【问题标题】:Invoke nested shell scripts from ssh从 ssh 调用嵌套的 shell 脚本
【发布时间】:2013-05-10 02:54:26
【问题描述】:

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

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

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

我收到此错误:

找不到script2。

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

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

【问题讨论】:

    标签: shell scripting ssh


    【解决方案1】:

    在 script1 中,尝试在脚本开头添加此内容是否有帮助:

    cd $(dirname "$0")
    

    或者围绕对 script2 的调用调用 pushd/popd。

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

    如果在从终端手动调用时,您需要从特定目录执行script1,例如/tmppushd 那个目录。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2017-08-15
        • 2016-09-12
        • 1970-01-01
        • 1970-01-01
        • 2014-03-06
        • 1970-01-01
        • 1970-01-01
        • 2021-05-19
        • 2014-06-11
        相关资源
        最近更新 更多