当前位置: 首页> 函数类别大全> shell_exec

shell_exec

通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回
名称:shell_exec
分类:程序执行
所属语言:php
一句话介绍: 执行指定的 shell 命令,并将命令的输出作为字符串返回

函数名称:shell_exec() 

适用版本:PHP 4, PHP 5, PHP 7

函数描述: shell_exec() 函数执行指定的 shell 命令,并将命令的输出作为字符串返回。与 exec() 函数不同的是,shell_exec() 函数返回的是命令输出的完整结果,而不仅仅是最后一行。

语法: shell_exec ( string $cmd ) : string|NULL

参数:

  • $cmd: 必需,要执行的 shell 命令。

返回值:

  • 如果成功执行命令,则返回命令输出的字符串结果。
  • 如果命令执行失败或者禁用了该函数,则返回 NULL。

示例1:

$output = shell_exec('ls -l');
echo "<pre>$output</pre>";

上述示例将执行 "ls -l" 命令,并将结果赋值给 $output 变量。然后,使用 <pre> 标签将结果以原样输出到浏览器。

示例2:

$output = shell_exec('php -v');
echo "<pre>$output</pre>";

上述示例将执行 "php -v" 命令,显示 PHP 版本信息,并将结果赋值给 $output 变量。然后,使用 <pre> 标签将结果以原样输出到浏览器。

注意事项:

  1. shell_exec() 函数在执行 shell 命令时依赖于操作系统的可用性,因此在不同的操作系统上可能会有不同的结果。
  2. 为了安全起见,应该谨慎使用 shell_exec() 函数,并且只允许执行受信任的命令。
  3. 在使用 shell_exec() 函数时,需要确保 PHP 的配置文件中没有禁用该函数(disable_functions 配置项)。
  4. 在某些情况下,可能需要使用绝对路径来执行命令,例如 '/usr/bin/ls'。
  5. 如果命令需要用户输入,请使用其他函数(如 exec() 或 passthru()),因为 shell_exec() 函数不支持与 shell 进程进行交互。
同类函数
  • 执行外部程序并显示原始输出 passthru

    passthru

    执行外部程序并显示原始输出
  • 执行外部程序并显示输出 system

    system

    执行外部程序并显示输出
  • 获取由 proc_open() 函数打开的进程的信息 proc_get_status

    proc_get_status

    获取由proc_open()函数打开的进
  • shell 元字符转义 escapeshellcmd

    escapeshellcmd

    shell元字符转义
  • 执行一个命令,并且打开用来输入/输出的文件指针 proc_open

    proc_open

    执行一个命令,并且打开用来输入/输出的文
  • 关闭由 proc_open() 打开的进程并且返回进程退出码 proc_close

    proc_close

    关闭由proc_open()打开的进程并
  • 执行一个外部程序 exec

    exec

    执行一个外部程序
  • 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回 shell_exec

    shell_exec

    通过shell环境执行命令,并且将完整的
热门文章