PHP执行Shell脚本或Bash脚本文件并返回命令输出详情
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脚本文件并返回命令输出详情相关推荐
- sh脚本和bash脚本_在脚本中使用Bash陷阱
sh脚本和bash脚本 很容易检测到shell脚本何时启动,但是并不总是容易知道何时停止. 脚本可能会正常终止,就像作者希望的那样终止,但是由于意外的致命错误,脚本也可能会失败. 有时,保留脚本失败时 ...
- sh脚本和bash脚本_我是如何开始使用bash脚本的
sh脚本和bash脚本 前几天我写了一个剧本. 对于某些人来说,这句话听起来没什么大不了的. 对于其他人,我知道您在外面,那句话很重要. 你看,我不是程序员. 我是作家 我需要解决的问题 我的问题很简 ...
- sh脚本和bash脚本_使用此简单的Bash脚本在家打印双面文档
sh脚本和bash脚本 我们家里有一台激光打印机. 惠普(Hewlett Packard)LaserJet Pro CP1525nw彩色打印机是一种较旧的型号,但它是一台出色的打印机,可以可靠地进行彩 ...
- Shell之/bin/bash脚本的基础实战
本人菜鸟一枚,初次接触linux的shell脚本: shell script,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令,而shell script更是提供了数组 ...
- shell 脚本和 bash 脚本的关系
Shell 分类 常见的 Shell 有 sh.bash.csh.tcsh.ash 等.其中 bash shell 是 Linux 的默认 shell.即 bash 是 shell 的一种. bash ...
- Linux脚本:Bash脚本看这一篇就够了
前言 Linux脚本有很多解析器(Shell),不同解析器要求的脚本语法是不一样的.系统在解析脚本时,如果没有在脚本声明指定解析器,则会采用系统默认解析器来对脚本进行解析.sh是非常重要解析器,历史很 ...
- bash 剪切文件_linux 剪切命令
展开全部 Linux下剪切命令是mv(move的缩写),可以用来移动文件e68a84e8a2ad62616964757a686964616f31333337613164或者将文件改名. 命令格式: m ...
- linux shell打印序号,Bash脚本编号生成器
纯bash(写成函数而不是脚本文件) randx3() { local d=$' \n' local i for ((i=0;i printf "%d%c" $((RANDOM%2 ...
- linux shell 变量命令,shell - 如何在Bash中将变量设置为命令的输出?
我用来从命令设置变量的一些bash技巧 第二次编辑2018-02-12:添加一种特殊的方式,请看这个底部! 2018-01-25编辑:添加示例函数(用于填充有关磁盘使用情况的变量) 第一个简单的旧和兼 ...
最新文章
- TIOBE 9 月编程语言排行榜发布,C++ 增速最快,C++20 的功劳?
- FragmentTabHost切换Fragment时避免重复加载UI
- ProtocolHandler继承体系
- 读Getting Started With Windows PowerShell笔记
- 【百度分享】基于内核模块的测试代码编写(二)
- Spring REST:异常处理卷。 1个
- 数据结构+算法 学习计划与资源
- Kafka 2.0 升级,看看携程怎么操作!
- TensorFlow2.0(十一)--理解LSTM网络
- 如何使用cURL一次测量请求和响应时间?
- 关于使用UIWebView加载HTTPS站点
- javascript高级程序设计笔记-第八章(BOM)
- 70+优秀的前端工具(转)
- 如何建立个人商业画布
- asp.net门诊收费管理系统
- css 如何让盒子垂直居中,css 盒子垂直居中
- 美国加州计算机专业大学排名,USNews美国计算机专业大学排名
- 计算机一些简单快捷键,最全的电脑常用快捷键大全 电脑快捷键使用大全
- 1427: 数字转换
- c++工程error lnk2001解决方法
热门文章
- Android MVP模式介绍和讲解
- lol国服维护可以玩别的服务器吗,LOL:除了艾欧尼亚,其他服务器都只能算是“郊区”吗?...
- CFA插值基本方法简单介绍
- github服务器在美国吗_GitHub上的政府布道者介绍美国开放技术
- acrobat 打印PDF时错误:Error: typecheck; OffendingCommand: show
- 最新美团代付源码+支持多模板/多支付通道/全开源
- 互联网公司常用四大中间件 | 搜索中间件缓存中间件
- 58——FFA-Net: Feature Fusion Attention Network for Single Image Dehazing
- 12- 降维算法 (PCA降维/LDA分类/NMF) (数据处理)
- 我的世界java版_我的世界Java版1.16.5