我正在尝试从Window PowerShell命令Linux机器。命令取决于之前的命令失败/通过。因此,我必须将所有命令放在一起。我尝试了多种将命令组合在一起的方法,但是最后我只收到第一个命令的输出。
super
实际结果:仅接收第一个命令的输出。
预期结果:接收最终命令的输出。
答案 0 :(得分:1)
sudo -i && cd /root/docker/storm-supervisor/ && ./stop-all.sh
在Linux Shell中尝试您的命令。也不行。它将执行提升的外壳程序,并等待您键入命令。仅在离开sudo
shell之后,它将运行其他命令(使用原始帐户)。
cd
和./stop-all.sh
是sudo
的子命令。所以你必须那样对待他们。
最好的方法是在sudo
命令行上提供命令:
sudo "cd /root/docker/storm-supervisor/ && ./stop-all.sh"
但这可能需要修改sudoers
文件。虽然这是正确的方法。
或者您将需要将命令提供给sudo
输入:
echo "cd /root/docker/storm-supervisor/ && ./stop-all.sh && exit" | sudo