如何获取执行命令的返回码:
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
echo $ssh->exec('cat /tmp/file_tmp');
//verify the return code
echo $ssh->exec('echo $?');
?>
echo $?
(Linux)和echo %errorlevel%
(Win)不起作用。
任何想法?
答案 0 :(得分:2)
$ssh->getExitStatus()
能做你想要的吗?
答案 1 :(得分:1)
找到一个选项(解决方法)。 PHP ssh2_exec channel exit status?
以下代码对我有用,符合我的目的:
$command .= ';echo "[return_code:$?]"';
$output = $ssh->exec($command);
preg_match( '/\[return_code:(.*?)\]/', $output, $match );
$return_code = $match[1];
echo "\r\n". $output;
echo "\r\n".$return_code;
感谢大家的投入。欣赏它!!