shell_exec()和IF用法

时间:2018-10-10 14:29:42

标签: php

我这样使用shell_exec()

$cmd = shell_exec("echo Hello!");
$cmd;
if(strpos($cmd, 'Hello!') !== false) {
    // $cmd contains 'Hello!'
}

我想知道命令是否在上一个代码中执行了2次或否。

我的意思是两次:

  1. $cmd;

  2. IF语句。

谢谢!

2 个答案:

答案 0 :(得分:1)

问题:

  

我想知道命令是否在上一个代码中执行了两次

答案:

不。调用shell_exec时,命令仅执行一次。

答案 1 :(得分:1)

仅执行一次。具体来说,当您调用shell_exec函数时,而不是在使用$cmd变量时,该变量保存该函数的结果。

看看函数记录的返回值-http://php.net/manual/en/function.shell-exec.php

  

已执行命令的输出

换句话说,您的代码不需要行$cmd;,因此可以这样重写:

$cmd = shell_exec("echo Hello!"); //command is fired here
if(strpos($cmd, 'Hello!') !== false) {
    // $cmd contains 'Hello!'
}