當前位置: 首頁> 函數類別大全> 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 進程進行交互。
同類函數
  • 執行一個命令,並且打開用來輸入/輸出的文件指針 proc_open

    proc_open

    執行一個命令,並且打開用來輸入/輸出的文
  • shell 元字符轉義 escapeshellcmd

    escapeshellcmd

    shell元字符轉義
  • 執行一個外部程序 exec

    exec

    執行一個外部程序
  • 執行外部程序並顯示原始輸出 passthru

    passthru

    執行外部程序並顯示原始輸出
  • 關閉由proc_open() 打開的進程並且返回進程退出碼 proc_close

    proc_close

    關閉由proc_open()打開的進程並
  • 殺死一個proc_open打開的進程 proc_terminate

    proc_terminate

    殺死一個proc_open打開的進程
  • 把字符串轉碼為可以在shell 命令裡使用的參數 escapeshellarg

    escapeshellarg

    把字符串轉碼為可以在shell命令裡使用
  • 執行外部程序並顯示輸出 system

    system

    執行外部程序並顯示輸出
熱門文章