PHP执行shell脚本或者Bash脚本文件实例。

system和exec函数可能被配置文件禁用,可以通过修改php配置文件删除被禁用的函数。

1.通过system函数执行

使用实例:

<?php
$shell = "dig www.afengblog.com";
echo "<pre>";
system($shell, $status);
echo "</pre>";
//shell命令执行结果和执行返回的状态值的对应关系
$shell = "<font color='red'>$shell</font>";
if ($status) {echo "shell命令{$shell}执行失败";
} else {echo "shell命令{$shell}成功执行";
}
?>

运行结果:

2.批量执行Shell命令

为了方便管理,可以将所需执行的命令写入至sh文件,然后通过system执行即可。

sh文件以#!/bin/bash开头,指示命令解释器,需要执行的命令每行一个,以;结尾,内容结尾可不带换行,否则status获取的是换行执行的结果(即空),if判断为空值则会输出命令执行失败,但实际上结尾换行符以上的命令是实际执行成功的。

#!/bin/bash
dig www.afengblog.com;
dig afengblog.com;
dig cdn.afengblog.com;

可以将shell 值改为:bash dig.sh

dig.sh改为以上sh文件的相对或绝对路径

如下:

<?php
$shell = "bash dig.sh";
echo "<pre>";
system($shell, $status);
echo "</pre>";
//注意shell命令的执行结果和执行返回的状态值的对应关系
$shell = "<font color='red'>$shell</font>";
if ($status) {echo "shell命令{$shell}执行失败";
} else {echo "shell命令{$shell}成功执行";
}
?>

执行效果如下:

3.通过exec函数执行

shell执行的命令可以根据以上方法自行diy。

使用实例:

<?php$shell = "bash dig.sh";exec($shell, $result, $status);$shell = "<font color='red'>$shell</font>";echo "<pre>";if( $status ){echo "shell命令{$shell}执行失败";} else {echo "shell命令{$shell}成功执行, 结果如下<hr>";print_r( $result );}echo "</pre>";
?>

执行效果如下:

原文地址:PHP执行Shell脚本或Bash脚本文件并返回命令输出详情 - 阿峰博客

PHP执行Shell脚本或Bash脚本文件并返回命令输出详情相关推荐

  1. sh脚本和bash脚本_在脚本中使用Bash陷阱

    sh脚本和bash脚本 很容易检测到shell脚本何时启动,但是并不总是容易知道何时停止. 脚本可能会正常终止,就像作者希望的那样终止,但是由于意外的致命错误,脚本也可能会失败. 有时,保留脚本失败时 ...

  2. sh脚本和bash脚本_我是如何开始使用bash脚本的

    sh脚本和bash脚本 前几天我写了一个剧本. 对于某些人来说,这句话听起来没什么大不了的. 对于其他人,我知道您在外面,那句话很重要. 你看,我不是程序员. 我是作家 我需要解决的问题 我的问题很简 ...

  3. sh脚本和bash脚本_使用此简单的Bash脚本在家打印双面文档

    sh脚本和bash脚本 我们家里有一台激光打印机. 惠普(Hewlett Packard)LaserJet Pro CP1525nw彩色打印机是一种较旧的型号,但它是一台出色的打印机,可以可靠地进行彩 ...

  4. Shell之/bin/bash脚本的基础实战

    本人菜鸟一枚,初次接触linux的shell脚本: shell script,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令,而shell script更是提供了数组 ...

  5. shell 脚本和 bash 脚本的关系

    Shell 分类 常见的 Shell 有 sh.bash.csh.tcsh.ash 等.其中 bash shell 是 Linux 的默认 shell.即 bash 是 shell 的一种. bash ...

  6. Linux脚本:Bash脚本看这一篇就够了

    前言 Linux脚本有很多解析器(Shell),不同解析器要求的脚本语法是不一样的.系统在解析脚本时,如果没有在脚本声明指定解析器,则会采用系统默认解析器来对脚本进行解析.sh是非常重要解析器,历史很 ...

  7. bash 剪切文件_linux 剪切命令

    展开全部 Linux下剪切命令是mv(move的缩写),可以用来移动文件e68a84e8a2ad62616964757a686964616f31333337613164或者将文件改名. 命令格式: m ...

  8. linux shell打印序号,Bash脚本编号生成器

    纯bash(写成函数而不是脚本文件) randx3() { local d=$' \n' local i for ((i=0;i printf "%d%c" $((RANDOM%2 ...

  9. linux shell 变量命令,shell - 如何在Bash中将变量设置为命令的输出?

    我用来从命令设置变量的一些bash技巧 第二次编辑2018-02-12:添加一种特殊的方式,请看这个底部! 2018-01-25编辑:添加示例函数(用于填充有关磁盘使用情况的变量) 第一个简单的旧和兼 ...

最新文章

  1. TIOBE 9 月编程语言排行榜发布,C++ 增速最快,C++20 的功劳?
  2. FragmentTabHost切换Fragment时避免重复加载UI
  3. ProtocolHandler继承体系
  4. 读Getting Started With Windows PowerShell笔记
  5. 【百度分享】基于内核模块的测试代码编写(二)
  6. Spring REST:异常处理卷。 1个
  7. 数据结构+算法 学习计划与资源
  8. Kafka 2.0 升级,看看携程怎么操作!
  9. TensorFlow2.0(十一)--理解LSTM网络
  10. 如何使用cURL一次测量请求和响应时间?
  11. 关于使用UIWebView加载HTTPS站点
  12. javascript高级程序设计笔记-第八章(BOM)
  13. 70+优秀的前端工具(转)
  14. 如何建立个人商业画布
  15. asp.net门诊收费管理系统
  16. css 如何让盒子垂直居中,css 盒子垂直居中
  17. 美国加州计算机专业大学排名,USNews美国计算机专业大学排名
  18. 计算机一些简单快捷键,最全的电脑常用快捷键大全 电脑快捷键使用大全
  19. 1427: 数字转换
  20. c++工程error lnk2001解决方法

热门文章

  1. Android MVP模式介绍和讲解
  2. lol国服维护可以玩别的服务器吗,LOL:除了艾欧尼亚,其他服务器都只能算是“郊区”吗?...
  3. CFA插值基本方法简单介绍
  4. github服务器在美国吗_GitHub上的政府布道者介绍美国开放技术
  5. acrobat 打印PDF时错误:Error: typecheck; OffendingCommand: show
  6. 最新美团代付源码+支持多模板/多支付通道/全开源
  7. 互联网公司常用四大中间件 | 搜索中间件缓存中间件
  8. 58——FFA-Net: Feature Fusion Attention Network for Single Image Dehazing
  9. 12- 降维算法 (PCA降维/LDA分类/NMF) (数据处理)
  10. 我的世界java版_我的世界Java版1.16.5