#!/usr/local/bin/php -q

上面的代码在运行的时候需要两个参数,分别是姓和名,比如这样子运行:

[dbrogdon@artemis dbrogdon]$ scriptname.ph Darrell Brogdon

Shell脚本在显示器上面会输出:

Hello, Darrell Brogdon! How are you today?

[dbrogdon@artemis dbrogdon]$

在PHP作为动态网页编写语言的时候也含有“$argv”这个数组,不过和这里有一些不同:当PHP作为Shell脚本语言的时候“$argv[0]”对应的是脚本的文件名,而当用于动态网页编写的时候,“$argv[1]”对应的是QueryString的第一个参数。

二、编写一个具有交互式的Shell脚本:

如果一个Shell脚本仅仅是自己运行,失去了交互性,那么也没有什么意思了。当PHP用于Shell脚本的编写的时候,怎么读取用户输入的信息呢?很不幸的是PHP自身没有读取用户输入信息的函数或者方法,但是我们可以效仿其他语言编写一个读取用户输入信息的函数“read”:

复制代码 代码如下:

需要注意的是上面这个函数只能用于Unix系统(其他系统需要作相应的改变)。上面的函数会打开一个文件指针,然后读取一个不超过255字节的行(就是fgets的作用),然后会关闭文件指针,返回读取的信息。

现在我们可以使用函数“read”将我们前面编写的程序1修改一下,使他更加具有“交互性”了:

复制代码 代码如下:

将上面的程序保存下来,运行一下,你可能会看到一件预料之外的事情:最后一行的输入变成了三行!这是因为“read”函数返回的信息还包括了用户每一行的结尾换行符“\n”,保留到了姓和名中,要去掉结尾的换行符,需要把“read”函数修改一下:

复制代码 代码如下:

三、在其他语言编写的Shell脚本中包含PHP编写的Shell脚本:

有时候我们可能需要在其他语言编写的Shell脚本中包含PHP编写的Shell脚本。其实非常简单,下面是一个简单的例子:

echo This is the Bash section of the code.

复制代码 代码如下:

/usr/local/bin/php -q << EOF

其实就是调用PHP来解析下面的代码,然后输出;那么,再试试下面的代码:

echo This is the Bash section of the code.

复制代码 代码如下:

/usr/local/bin/php -q << EOF

可以看出两次的代码唯一的不同就是第二次使用了一个变量“$myVar”,试试运行,PHP竟然给出出错的信息:“Parse error: parse error in - on line 2”!这是因为Bash中的变量也是“$myVar”,而Bash解析器先将变量给替换掉了,要想解决这个问题,你需要在每个PHP的变量前面加上“\”转义符,那么刚才的代码修改如下:

echo This is the Bash section of the code.

复制代码 代码如下:

/usr/local/bin/php -q << EOF

好了,现在你可以用PHP编写你自己的Shell脚本了,希望你一切顺利。如果有什么问题,可以去本站论坛上讨论。

英文版地址:http://www.phpbuilder.com/columns/darrell20000319.php3

http://www.bkjia.com/PHPjc/314942.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/314942.htmlTechArticle我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短……)。但是只有很少数的人意识到PHP也可以很好的作为编写...

相关文章

相关视频

网友评论

文明上网理性发言,请遵守 新闻评论服务协议我要评论

立即提交

专题推荐独孤九贱-php全栈开发教程

全栈 100W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

玉女心经-web前端开发教程

入门 50W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

天龙八部-实战开发教程

实战 80W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

php中文网:公益在线php培训,帮助PHP学习者快速成长!

Copyright 2014-2020 https://www.php.cn/ All Rights Reserved | 苏ICP备2020058653号-1

php和shell脚本语言,将PHP作为Shell脚本语言使用_PHP教程相关推荐

  1. php写一个shell脚本文件格式,一篇文章学会——shell脚本编写

    用了caffe有一段时间了,感觉自己写shell脚本的能力有待提高,特地从菜鸟笔记处系统的看了一遍,其实学习基础就可,内容也不多,我就不总结了.把网站上的内容用markdown重新编辑了一下,各位可以 ...

  2. 脚本没有类似C语言的预编译,开源脚本库

    开源脚本库 1 TinyC(TCC) 1.1 优点 1.1.1 速度快:直接x86汇编代码 1.1.2 标准C支持:支持标准的 ANSI C 语言,而且也支持 ISO C99 标准 1.2 缺点 1. ...

  3. html脚本语言有哪些,常见的脚本语言(有哪些)

    常见的脚本语言 脚本言语:脚本言语又被称为扩建的言语,或者动态言语,是一种编程言语,用bai来操控软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解说或编译. 言语分类: Shell ...

  4. 脚本编程语言python语言-python算的上脚本语言吗

    脚本语言泛指单用作简单編程任务如shell scripts.脚本语言是一种介乎于 HTML 和诸如 JAVA . Visual Basic . C++ 等编程语言之间的一种特殊的语言,尽管它更接近后者 ...

  5. shell两个时间字符串插值_Shell 脚本速成

    0x00 前言 这段时间快速把 Micropoor 的内网课程看完了一遍,里面出现了很多 Shell 脚本. Shell 脚本有什么好处? 无需安装其他软件 适合任务自动化,擅长系统管理任务 通过 S ...

  6. 4-1:shell编程之编写第一个shell脚本

    文章目录 一:什么是shell脚本 二:如何编写shell脚本 (1)脚本文件的格式 (2)可执行权限 (3)执行脚本 三:第一个shell脚本 (1)基本结构 (2)变量和常量 A:创建变量和常量 ...

  7. shell编程:对话 UNIX: 更多 shell 脚本技术

    尽管在近两年使用过 UNIX 的一些人可能尝试过 shell 脚本编程,但是他们很可能只是研究操作系统的细节,并不精通 shell 脚本编程.本文针对那些希望进一步了解 shell 脚本,并开始编写更 ...

  8. linux shell脚本 nohup,linux真正使用shell脚本做定时任务 关键的Nohup

    网上有很多的文章教大家使用定时任务,所以别的废话我就不多说了 我这里直接有SH来做定时,只是有一点大家不知道,一定要用Nohup,否则用户退出终端以后,SH任务会被自动终止掉 假设有一 tash.sh ...

  9. 嵌入式 Linux 入门(五、Shell 脚本编程上:认识 Shell 脚本)

    大家好,是矜辰所致,嵌入式 Linux入 门第五课,本课开始简单学习一下 Shell 脚本编程. 目录 前言 一.Shell 脚本基础说明 1.1 什么是 Shell 脚本 1.2 Shell 脚本的 ...

最新文章

  1. 推荐6个绝赞良心工具,总有一些适合你!
  2. vs项目移植到linux运行,VS2008项目移植到Linux
  3. 6、Hive的特殊分隔符处理
  4. idea怎么提交到dev分支_IDEA设置git提交分支
  5. C#调用存储过程详解
  6. 【JSON】FastJson 打印输格式化输出
  7. Logistic逻辑回归用初等数学解读逻辑回归
  8. 百家与g对比oogle_如何在Java Web应用程序中集成G​​oogle reCAPTCHA
  9. java 小球运动轨迹_java怎么实现小球的运动轨迹
  10. Illustrator 教程,认识 Illustrator 中的工作区
  11. oracle中如何测试,Oracle数据库中如何正确的查看sql
  12. Atitit 区块链之道 attilax著 艾龙著 1. 金融=制度+技术+信息 1 2. 第一章可信的协议 1 3. 第二章引导未来:区块链经济七大设计原则 1 4. 第五章 新商业
  13. Norton AntiVirus 8.0 企业版服务器客户端安装说明
  14. 根号在c语言中语言表达式,在c语言中根号如何表示,谢啦
  15. joc杂志影响因子2019_化学sci期刊影响因子排名_国际化学期刊2018最新影响因子_分析测试学报影响因子...
  16. 微信小游戏开发指南(一)什么是微信小游戏
  17. Anaconda基本教程及常用命令(介绍、安装、基本操作、管理环境、管理包、conda和pip以及借助pqi换源)
  18. Fortran 77
  19. 提取小米手机的备份数据
  20. 【vue】【开源】vue开源电商项目hello-mall嗨喽商城

热门文章

  1. 开学季的潮人look 一部手机帮你赚翻回头率
  2. 微软深夜放炸弹 Office 加持GPT-4 10亿打工人被革命
  3. edge浏览器玩不了4399怎么办?
  4. TPlink WR880N V3 TP9343 Openwrt 改造记录
  5. ubuntu 安装 Gitkraken 9.x Pro 版本
  6. python-opencv边缘检测与人脸检测应用
  7. 300w正弦波逆变器 将12v直流电逆变成220v交流电
  8. 警惕!最常见的三类诈骗短信
  9. 群集共享卷建文件服务器,定义群集共享卷
  10. 计算机财务管理 实验心得,计算机财务管理课程实验报告