php cli shell是web脚本语言php在系统命令行(shell)下的另一种形式, 有了它的协助,用户可以在系统命令行中使用php编写交互代码。实现如:corn等计划任务;之所以介绍它,笔者希望用他来实现自动建立虚拟机等等任务,利用php强大的文本处理功能替换linux shell的常用指令,实现虚拟机管理. 很赞吧,一起来看看php cli shell是如何扩展的吧.

php cli shell

为啥使用 php cli shell ?

我们知道在linux系统内,编写脚本执行批量任务再正常不过了,如果你是linux高手,熟悉perl、bash等脚本语言,那可以忽略本文了^_^,下面是给phper专用的,透过php cli shell,phper们不用懂得perl/bash,一样可以编写出漂亮的linux脚本来。这为和笔者一样的懒懒的站长,是在是太方便了^_^。

如何使用 php cli ?

根据官方的说法,有两种模式来执行php cli。a) 交互模式 b)脚本模式,下面将一一介绍。首先,确认系统上是否已经安装了php cli。

[root@www.cnphp.info ~]$ php -v

PHP 5.4.28 (cli) (built: May 2 2014 13:46:36)

Copyright (c) 1997-2014 The PHP Group

Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

如果没有找到php指令,那么使用yum安装一下,并确认php cli的安装路径,本文中php cli 安装在了/usr/bin目录下

[root@www.cnphp.info ~]$ yum install php

[root@www.cnphp.info ~]$ whereis php

php: /usr/bin/php /etc/php.ini /etc/php.d /usr/share/php /usr/share/man/man1/php.1.gz

安装完成后,可以在命令行下可直接进入交互模式。

[root@www.cnphp.info ~]$ php -a

Interactive shell

php > echo “hello,world!\n”;

hello,world!

php > echo “from http://www.cnphp.info\n”;

php >

关于交互模式,笔者认为用处多在于调试php脚本^_^。

使用php cli 编写linux脚本

首先,我们在写一个php脚本,保存为hello.php

echo “hello,this is my first php cli shell script!\n”;

echo exec(‘ls -l\n’) .”\n”;

?>

我们可以在命令行下执行php脚本。

[root@www.cnphp.info scripts]# php hello.php

hello,this is my first php cli shell script!

-rwxr-xr-x 1 0 0 75 May 12 20:36 test

我们还可在hello.php的第一行加入shebang,让它以类似bash脚本的方式执行:

#!/usr/bin/php -q

echo “hello,this is my first php cli shell script!\n”;

echo exec(‘ls -l\n’) .”\n”;

?>

修改保存完成后,需要将hello.php更改为可以执行程序。

[root@www.cnphp.info scripts]$ chmod +x hello.php

[root@www.cnphp.info scripts]$ ./hello.php

hello,this is my first php cli shell script!

-rwxr-xr-x 1 0 0 75 May 12 20:36 test

下面,只要各位发挥自己的想象用php cli编写自己的shell脚本^_^

linux php-cli,php cli - shell语言的扩展利器 - Linux进阶, PHP技术 - freemouse-笔记-感悟-成长...相关推荐

  1. 运用shell,python自动下载linux系统运维

    因为之前看到一篇关于自动化下载linux运维趋势的shell脚本,一来觉得linux运维趋势不错,二来也感觉作者的确很NB.呵呵,于是自己写写,其实下载不麻烦,运用wget即可,原文中对于下载后的文件 ...

  2. LINUX下的流量监控shell脚本

    这篇文章主要介绍了LINUX下的流量监控shell脚本,可以适用任何Linux版本,需要的朋友可以参考下 一.脚本源码 # vi /etc/rc.d/traffic_monitor.sh ------ ...

  3. 会linux基本命令是脚本语言吗,如何理解Linux Shell和基本Shell脚本语言?

    理解Linux Shell: shell:一个命令行解释器,通过执行命令或脚本,帮助用户与操作系统打交道. process:进程,用户执行的任务是进程,但进程不只是任务. file:文件放在硬盘上,包 ...

  4. linux 系统 Shell语言 基础

    linux 系统 Shell语言 基础 第一章 Shell 编程 1 . 概述 ​ Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Sh ...

  5. Linux学习笔记(七)——shell语言

    七.Shell语言 (一).shell概述 1.Shell简介 · Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂 ...

  6. linux命令和shell语言的区别,shell脚本语言与linux命令的联系与区别

    使用linux确定是要会使用命令的,就算提供有用户界面,绝大部分功能仍是要经过命令行去操做的.而shell脚本语言也是运行在linux上的脚本语言,对于服务器运维人员也是几乎必需要掌握的.而shell ...

  7. Python在Linux实现代码特效,关于在Linux系统上的Ubuntu上基于python3、shell语言代码的实现...

    首先打开执行终端,然后进入路径(执行文件的目录): 1.python3语言代码的实现步骤: 1>python3 xxx.py(一步实现) 2.shell语言代码的实现步骤: 1>获取属主的 ...

  8. Linux Shell语言并发执行多条命令

    shell语言的并发 Default模式下,shell命令是阻塞执行的,可以通过其后添加&让这条命令异步执行,如: sleep 10 & 执行这条命令后,并不会阻塞10秒,而是立即返回 ...

  9. Linux之(5)账户和shell基础知识

    Linux之(5)账户和shell基础知识 Author:onceday date:2022年8月23日 漫漫长路,而今才刚刚开始- 本内容主要收集整理于: <Linux命令行与shell脚本编 ...

  10. 10.05 最初对Linux的了解,对Shell的认识

    linux的起源:UNIX,代码开源,可以得到源代码,然后自己编译,通过以后可以运行程序. 特点:免费的;兼容POSIX1.0标准;多用户,多任务系统;良好的用户界面;提供了图形界面;支持多种文件系统 ...

最新文章

  1. Spring Boot日志学习记录【2】
  2. Attempted to access a cursor after it has been clo
  3. python树莓派设备_Python+树莓派制作IoT(物联网)门控设备
  4. set Autotrace的使用
  5. 设计模式四:策略模式
  6. Google 开源技术protobuf 简介与样例
  7. 结构化分析和面向对象分析的区别 例子_管理游戏测评例子
  8. Halcon算子学习:sample_object_model_3d
  9. vs矩形框边框线显示被选中的区域;_条形码区域解码:Web小工具
  10. SetTimeout(延迟计时器)
  11. Golang Web入门(3):如何优雅的设计中间件
  12. (5)通过Node.js 运行JS代码
  13. (三)比特币时间序列数据的AI异常检测
  14. php延迟静态绑定,延迟静态绑定——static
  15. android蓝牙动态权限,Android蓝牙权限
  16. Git报错:Pulling without specifying how to reconcile divergent branches is discouraged. You can squelch
  17. 吊打面试官系列之:UI自动化面试题汇总,对标P7,从此再也不怕面试官了。
  18. 0x5085170C (ucrtbased.dll)处(位于 Project1.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000001A 时发生访问冲突。
  19. 全栈式深度学习(概括实讲解)
  20. 显著性检测—学习笔记

热门文章

  1. 浅谈Android选项卡(二)
  2. Centos中安装memcached
  3. 将十进制IP转换成二进制IP
  4. mac m1搭建java opencv 环境(遇到的坑记录)
  5. ReentrantLock源码lock和tryLock区别
  6. 聊聊索引失效的10种场景,巨坑
  7. Spring整合MyBatis之MapperFactoryBean
  8. OCP题库062新出现的考试题-第23题
  9. 数据中心业务中断 多与运营流程有关
  10. visual studio for mac在线安装网络错误