使用Plink执行(sudo)子命令

时间:2019-01-30 03:29:01

标签: powershell ssh command-line putty plink

我正在尝试从Window PowerShell命令Linux机器。命令取决于之前的命令失败/通过。因此,我必须将所有命令放在一起。我尝试了多种将命令组合在一起的方法,但是最后我只收到第一个命令的输出。

super

实际结果:仅接收第一个命令的输出。

预期结果:接收最终命令的输出。

1 个答案:

答案 0 :(得分:1)

sudo -i && cd /root/docker/storm-supervisor/ && ./stop-all.sh

在Linux Shell中尝试您的命令。也不行。它将执行提升的外壳程序,并等待您键入命令。仅在离开sudo shell之后,它将运行其他命令(使用原始帐户)。

cd./stop-all.shsudo的子命令。所以你必须那样对待他们。

  • 最好的方法是在sudo命令行上提供命令:

    sudo "cd /root/docker/storm-supervisor/ && ./stop-all.sh"
    

    但这可能需要修改sudoers文件。虽然这是正确的方法。

  • 或者您将需要将命令提供给sudo输入:

    echo "cd /root/docker/storm-supervisor/ && ./stop-all.sh && exit" | sudo