php 输出shell脚本结果_php shell_exec 返回命令输出结果 - CSDN
精华内容
参与话题
  • linux下php获取shell命令返回数据

    千次阅读 2018-11-28 18:46:06
    获取cpu使用率: 例: sensor.php: <?php exec("top -b -n 1|grep CPU|grep -v grep|awk '{if(NR==1){print $8}}'",$output);...注:$o

    获取cpu使用率:

    例:
    sensor.php:

    <?php
    	exec("top -b -n 1|grep CPU|grep -v grep|awk '{if(NR==1){print $8}}'",$output);
    	$tmp = $output[0];
    	$output = array();
    	echo $output;
    	
    ?>
    

    在这里插入图片描述
    注:$output为获取标准输出的数组,每次循环会累加到数据中,所有进行了数组清空:
    $output = array();
    所以,每次数据都为最新数据存放于数组首元素中。

    展开全文
  • $result = shell_exec('asterisk -rx "core show channels concise"'); $ccount =shell_exec('asterisk -rx "core show channels count"'); echo $result; echo $ccount; ?> </code></pre> <p>Above code is...
  • PHP调用shell命令

    千次阅读 2019-05-09 17:16:12
    因为想用php调用python脚本,于是想到可以利用php调用shell命令的方法实现。 php版本:php7.0 三种方法 1.system system — 执行外部程序,并且显示输出 函数使用方法 system ( string $command [, int &$...

    PHP调用shell命令

    前言

    因为想用php调用python脚本,于是想到可以利用php调用shell命令的方法实现。
    php版本:php7.0

    三种方法

    1.system

    system — 执行外部程序,并且显示输出

    函数使用方法

    system ( string $command [, int &$return_var ] ) : string
    

    example:

    <?php
    $last_line = system('ls',$return_val);
    echo(“last line:”.$last_line);
    echo(“return:”.$return_val);
    

    说明:执行了shell命令,并直接输出其返回结果;
    函数的返回结果为shell命令输出内容的最后一行;
    $return_val为shell命令的返回结果。

    2.exec

    exec — 执行一个外部程序

    exec ( string $command [, array &$output [, int &$return_var ]] ) : string
    

    example:

    <?php
    exec('ls',$out);
    var_dump($out);
    

    说明:exec函数返回结果为shell命令输出内容的最后一行;
    $output为shell命令输出内容;
    $return_val为shell命令返回结果;

    3.passthru

    passthru — 执行外部程序并且显示原始输出

    passthru ( string $command [, int &$return_var ] ) : void
    

    example:

    <?php
    passthru('ls',$res);
    echo($res);
    

    说明:当所执行的 Unix 命令输出二进制数据, 并且需要直接传送到浏览器的时候, 需要用此函数来替代 exec() 或 system() 函数。通过设置 Content-type 为 image/gif, 然后调用 pbmplus 程序输出 gif 文件, 就可以从 PHP 脚本中直接输出图像到浏览器

    展开全文
  • <p>I have tried the not working command from the shell and it does send the output to the log file, either this way: <pre><code>for i in $(seq --format=%003.f 0 $(( $(ls -1 | wc -l) -1 )) ); do echo ...
  • /usr/bin/env php <?php // $argc 表示参数个数,$argv 参数内容 // echo '接收到'.$argc.'个参数'; // print_r($argv); // 这个函数也可以接收参数 $option = getopt('v'); if(isset($option['v'])){ ...
    #!/usr/bin/env php
    <?php
    	// $argc 表示参数个数,$argv 参数内容
    	// echo '接收到'.$argc.'个参数';
    	// print_r($argv);
    	
    	// 这个函数也可以接收参数
    	$option = getopt('v');
    	if(isset($option['v'])){
    		fwrite(STDOUT, "demo版本:v0.0.1\n");
        }
    
    	// STDIN 是输入
    	echo '请确认是否继续(Y/N):'; 
    	$jimmy = fgets(STDIN);
    
    	// STDOUT是输出
        fwrite(STDOUT, "写入数据是:{$jimmy}");
    

    调用:

    $./demo -v
    demo版本:v0.0.1
    请确认是否继续(Y/N):y
    写入数据是:y
    
    展开全文
  • shell命令输出

    2019-08-10 23:17:01
    shell脚本中的打印输出通常会有echo和printf两种,前者会自动换行。 一、echo Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符...

    在shell脚本中的打印输出通常会有echo和printf两种,前者会自动换行。

    一、echo

    Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。您可以使用echo实现更复杂的输出格式控制。

    1.显示普通字符串:

    [root@localhost ~]# echo "It is a test"
    It is a test
    [root@localhost ~]# echo It is a test
    It is a test

     

     2.显示转义字符

    [root@localhost ~]# echo "\"It is a test\""
    "It is a test"

     

    3.显示变量

    [root@localhost ~]# name=”OK”
    [root@localhost ~]# echo “$name It is a test”
    “”OK” It is a test”
    [root@localhost ~]# echo $name It is a test
    ”OK” It is a test
    [root@localhost ~]# 

    以下的转义字符都可在echo中使用

    转义字符

    含义

    \\

    反斜杠

    \a

    警报,响铃

    \b

    退格(删除键)

    \f

    换页(FF),将当前位置移到下页开头

    \n

    换行

    \r

    回车

    \t

    水平制表符(tab键) 

    \v

    垂直制表符

    echo

    -e开启转义

    -E禁止转义,默认也是不转义的

    4、read

    read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量。

    [root@localhost ~]# cat echo_var.sh 
    #!/bin/sh
    read name 
    echo "$name It is a test"
    [root@localhost ~]# chmod 755 echo_var.sh 
    [root@localhost ~]# 
    [root@localhost ~]# ./echo_var.sh 
    var1
    var1 It is a test

     

    5、显示结果定向至文件

    [root@localhost ~]# echo "It is a test" > myfile
    [root@localhost ~]# 
    [root@localhost ~]# cat myfile 
    It is a test

     

    6、原样输出字符串,不进行转义或取变量(用单引号)

    [root@localhost ~]# echo '$name\"'
    $name\"

     

    7、显示命令执行结果

    反引号

    [root@localhost ~]# echo `date`
    Mon Mar 25 22:07:23 CST 2019

     

    二、printf

    printf 命令用于格式化输出,是echo命令的增强版。

    printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认printf不会像 echo 自动添加换行符,我们可以手动添加换行符\n。

    [root@localhost ~]# echo "Hello, Shell"
    Hello, Shell
    [root@localhost ~]# printf "Hello, Shell\n"
    Hello, Shell

     

    格式替代符:

    %b 相对应的参数被视为含有要被处理的转义序列之字符串。

    %c ASCII字符。显示相对应参数的第一个字符

    %d, %i 十进制整数

    %e, %E, %f 浮点格式

    %g %e或%f转换,看哪一个较短,则删除结尾的零

    %G %E或%f转换,看哪一个较短,则删除结尾的零

    %o 不带正负号的八进制值

    %s 字符串

    %u 不带正负号的十进制值

    %x 不带正负号的十六进制值,使用a至f表示10至15

    %X 不带正负号的十六进制值,使用A至F表示10至15

    %% 字面意义的%

    三、test

    test 命令是Shell环境中测试条件表达式的使用工具,用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。

    1、数值测试

    参数

    说明

    -eq

    等于则为真

    -ne

    不等于则为真

    -gt

    大于则为真

    -ge

    大于等于则为真

    -lt

    小于则为真

    -le

    小于等于则为真

    实例:

    [root@localhost ~]# vi test.sh 
    #!/bin/bash
    num1=100
    num2=100
    if test $[num1] -eq $[num2]
    then
        echo '两个数相等!'
    else
        echo '两个数不相等!'
    fi
    [root@localhost ~]# chmod 755 test.sh 
    [root@localhost ~]# 
    [root@localhost ~]# ./test.sh 
    两个数相等!

     

    2、字符串测试

    参数

    说明

    =

    等于则为真

    !=

    不相等则为真

    -z 字符串

    字符串的长度为零则为真

    -n 字符串

    字符串的长度不为零则为真

    实例:

    [root@localhost ~]# vi test1.sh
    #!/bin/bash
    num1="ru1noob"
    num2="wiki"
    if test $num1 = $num2
    then
        echo '两个字符串相等!'
    else
        echo '两个字符串不相等!'
    fi
    [root@localhost ~]# chmod 755 test1.sh 
    [root@localhost ~]# 
    [root@localhost ~]# ./test1.sh 
    两个字符串不相等!

    3、文件测试

    参数

    说明

    -e 文件名

    如果文件存在则为真

    -r 文件名

    如果文件存在且可读则为真

    -w 文件名

    如果文件存在且可写则为真

    -x 文件名

    如果文件存在且可执行则为真

    -s 文件名

    如果文件存在且至少有一个字符则为真

    -d 文件名

    如果文件存在且为目录则为真

    -f 文件名

    如果文件存在且为普通文件则为真

    -c 文件名

    如果文件存在且为字符型特殊文件则为真

    -b 文件名

    如果文件存在且为块特殊文件则为真

    [root@localhost ~]# vi test2.sh
    #!/bin/bash
    cd /bin
    if test -e ./bash
    then
        echo '文件已存在!'
    else
        echo '文件不存在!'
    fi
    [root@localhost ~]# chmod 755 test2.sh 
    [root@localhost ~]# 
    [root@localhost ~]# ./test2.sh 
    文件已存在!

    4、条件测试

    Shell还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为::“!”最高,“-a”次之,“-o”最低。

     实例

    [root@localhost ~]# vi test3.sh
    #!/bin/bash
    cd /bin
    if test -e ./notFile -o -e ./bash
    then
        echo '有一个文件存在!'
    else
        echo '两个文件都不存在'
    fi
    [root@localhost ~]# chmod 755 test3.sh 
    [root@localhost ~]# 
    [root@localhost ~]# ./test3.sh 
    有一个文件存在!

     

    end

    转载于:https://www.cnblogs.com/djlsunshine/p/10592738.html

    展开全文
  • <p>The shell commands are running fine but the output from java and perl isn't displayed on my web site. I tried refreshing the page in my code after java and perl is executed but it then refreshes ...
  • 其中用到shell脚本来获取已连接设备的统计。使用命令 /bin/netstat-an|grep ESTABLISHED|awk'{print $4}'|cut-d:-f1|sort|uniq-c 在linux命令行下执行获取到的结果为 2 192.168.0.135 而通过web 页....
  • php执行shell脚本

    千次阅读 2019-03-25 16:44:15
    php作为一门服务器端脚本语言,也是可以调用系统命令的,这其中就包括了执行shell脚本 编写test.sh脚本如下 #! /bin/sh mkdir /www/a 很简单的一个shell脚本 创建一个文件夹 php脚本如下 system('/us...
  • php执行linux命令shell脚本。以获取服务器运行状态举栗子
  • PHP 执行shell 脚本,常见问题

    千次阅读 2018-01-28 15:26:06
    php调用shell脚本 1)exec() 原型: string exec ( string $command [, array &$output [, int &$return_var ] ) 说明: exec执行系统外部命令时不会输出结果,而是返回结果的最后一行。如果想得到结果,可以使用...
  • 收藏!一篇教会你写90%的shell脚本

    万次阅读 多人点赞 2020-08-21 17:25:45
    还不会写shell脚本?这篇文章教会你写90%的shell脚本
  • PHP作为Shell脚本语言使用

    千次阅读 2004-11-20 10:37:00
    PHP作为Shell脚本语言使用 可能很多人都想过使用PHP编写一些定时发信之类的程序,但是却没有办法定时执行PHP;一次去PHPBuilder的时候,发现了这一篇文章,于是想给大家翻译一下(同时做了一些修改),希望对大家...
  • php中判断shell_exec执行结果

    万次阅读 2016-05-05 13:58:43
     不过shell_exec执行成功无输出 和 执行失败 返回的都是null 在记录错误日志的时候区分就成问题了。  在php手册的评论中找到了区分的方法,在此记录一下。   $shell = "wget -O despath sourcepath && echo
  • 零、前言 1、我用的是 LNMP 环境,好像 第三、四步 都不用做,因为默认的 “disable_functions=” 后面为空,也就是没有禁用掉相关的功能。 一、具体实现步骤如下: 1, 将php文件,python文件放在通过一个目录下...
  • php利用sudo权限执行shell脚本

    万次阅读 2017-03-17 11:47:30
    php作为一门服务器端脚本语言,也是可以调用系统命令的,这其中就包括了执行shell脚本 最近有一个需求,由于http的表单方式上传文件过慢,需要通过其他方式传输文件,讨论了scp与rsync后 最终决定使用scp工具 编写test....
  • 题目中的上传包含两部分,一部分是上传文件,一部分是利用PHP执行脚本 上传文件到指定文件夹 所谓文件上传是指将本地文本文件,图片视频或者音频等文件上传到服务器上,以供后续操作的过程。 上传文件有几种...
  • 可使用tee命令suse-linux:/opt/script/shell # cat shutdown_boot.sh#!/bin/shfor ip in `cat ip.txt`dossh $ip <<EOF 2>&1 | tee -a out.logecho "{$ip} shutdown now..."ifconfigmkdir /tmp/t...
  • php执行shell不阻塞方法

    千次阅读 2016-04-20 14:31:47
    exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。 passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。这些方法都会等待命令执行完毕后才会继续执行后续...
  • php异步执行shell脚本

    千次阅读 2017-06-19 14:34:53
    docker.php/** * 跨平台执行脚本 ... * array['status'] 执行状态 0为正常 127 找不到脚本 126没有执行该shell脚本权限 */ function terminal($command) { // system if (function_exists ( 's
1 2 3 4 5 ... 20
收藏数 38,961
精华内容 15,584
关键字:

php 输出shell脚本结果