Php 通过ssh关闭未正常工作

Php 通过ssh关闭未正常工作,php,ssh,telegram-bot,php-telegram-bot,Php,Ssh,Telegram Bot,Php Telegram Bot,这就是我的问题: 我有一台主要通过ssh使用的pc,我最近创建了一个电报机器人,以快速执行那些更频繁使用的命令 除了shutdown命令外,它工作正常 $connection = ssh2_connect('www.example.com', 22); ssh2_auth_password($connection, 'user', 'mypass'); $stream = ssh2_exec($connection, 'netstat | grep ESTABLISHED || shutdown

这就是我的问题: 我有一台主要通过ssh使用的pc,我最近创建了一个电报机器人,以快速执行那些更频繁使用的命令

除了shutdown命令外,它工作正常

$connection = ssh2_connect('www.example.com', 22);
ssh2_auth_password($connection, 'user', 'mypass');
$stream = ssh2_exec($connection, 'netstat | grep ESTABLISHED || shutdown -P now');
我之所以使用这段代码,是因为我需要在关闭电脑之前验证没有其他人(我的兄弟)连接到电脑,但看起来不管
netstat | grep的输出如何,代码
| | shutdown-p现在总是执行


我总是通过ssh使用这样的代码来验证连接,它总是可以正常工作。只有当
netstat | grep-builded
的输出为空时,我如何才能执行
| shutdown-P
部分操作?

显然,

ssh2|u-exec
无法执行由运算符连接的多个命令。在您的例子中,它看起来只是解析命令并执行最后一个命令。或者它只是一个接一个地执行所有命令。 你能做的就是分割你的命令

如何获取
ssh2\u exec
命令的结果:

[


因此,当您得到结果时,您可以对其进行处理并运行另一个ssh2\u命令关闭。

显然,
ssh2\u exec
无法执行由运算符连接的多个命令。在您的情况下,它看起来只是解析命令并执行最后一个命令。或者它只是逐个执行所有命令。 你能做的就是分割你的命令

如何获取
ssh2\u exec
命令的结果:

[


因此,当你得到结果时,你可以处理它并运行另一个ssh2\u命令来关机。

我现在就想办法解决这个问题。我在远程机器上创建了一个带有if结构的bash文件,我从ssh调用它。这对我来说很好。我现在就想办法解决这个问题。我在远程机器上创建了一个带有I的bash文件f结构,我从ssh中调用它。这对我来说很好