php和shell脚本语言,将PHP作为Shell脚本语言使用_PHP教程
#!/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教程相关推荐
- php写一个shell脚本文件格式,一篇文章学会——shell脚本编写
用了caffe有一段时间了,感觉自己写shell脚本的能力有待提高,特地从菜鸟笔记处系统的看了一遍,其实学习基础就可,内容也不多,我就不总结了.把网站上的内容用markdown重新编辑了一下,各位可以 ...
- 脚本没有类似C语言的预编译,开源脚本库
开源脚本库 1 TinyC(TCC) 1.1 优点 1.1.1 速度快:直接x86汇编代码 1.1.2 标准C支持:支持标准的 ANSI C 语言,而且也支持 ISO C99 标准 1.2 缺点 1. ...
- html脚本语言有哪些,常见的脚本语言(有哪些)
常见的脚本语言 脚本言语:脚本言语又被称为扩建的言语,或者动态言语,是一种编程言语,用bai来操控软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解说或编译. 言语分类: Shell ...
- 脚本编程语言python语言-python算的上脚本语言吗
脚本语言泛指单用作简单編程任务如shell scripts.脚本语言是一种介乎于 HTML 和诸如 JAVA . Visual Basic . C++ 等编程语言之间的一种特殊的语言,尽管它更接近后者 ...
- shell两个时间字符串插值_Shell 脚本速成
0x00 前言 这段时间快速把 Micropoor 的内网课程看完了一遍,里面出现了很多 Shell 脚本. Shell 脚本有什么好处? 无需安装其他软件 适合任务自动化,擅长系统管理任务 通过 S ...
- 4-1:shell编程之编写第一个shell脚本
文章目录 一:什么是shell脚本 二:如何编写shell脚本 (1)脚本文件的格式 (2)可执行权限 (3)执行脚本 三:第一个shell脚本 (1)基本结构 (2)变量和常量 A:创建变量和常量 ...
- shell编程:对话 UNIX: 更多 shell 脚本技术
尽管在近两年使用过 UNIX 的一些人可能尝试过 shell 脚本编程,但是他们很可能只是研究操作系统的细节,并不精通 shell 脚本编程.本文针对那些希望进一步了解 shell 脚本,并开始编写更 ...
- linux shell脚本 nohup,linux真正使用shell脚本做定时任务 关键的Nohup
网上有很多的文章教大家使用定时任务,所以别的废话我就不多说了 我这里直接有SH来做定时,只是有一点大家不知道,一定要用Nohup,否则用户退出终端以后,SH任务会被自动终止掉 假设有一 tash.sh ...
- 嵌入式 Linux 入门(五、Shell 脚本编程上:认识 Shell 脚本)
大家好,是矜辰所致,嵌入式 Linux入 门第五课,本课开始简单学习一下 Shell 脚本编程. 目录 前言 一.Shell 脚本基础说明 1.1 什么是 Shell 脚本 1.2 Shell 脚本的 ...
最新文章
- 推荐6个绝赞良心工具,总有一些适合你!
- vs项目移植到linux运行,VS2008项目移植到Linux
- 6、Hive的特殊分隔符处理
- idea怎么提交到dev分支_IDEA设置git提交分支
- C#调用存储过程详解
- 【JSON】FastJson 打印输格式化输出
- Logistic逻辑回归用初等数学解读逻辑回归
- 百家与g对比oogle_如何在Java Web应用程序中集成G​​oogle reCAPTCHA
- java 小球运动轨迹_java怎么实现小球的运动轨迹
- Illustrator 教程,认识 Illustrator 中的工作区
- oracle中如何测试,Oracle数据库中如何正确的查看sql
- Atitit 区块链之道 attilax著 艾龙著 1. 金融=制度+技术+信息	1 2. 第一章可信的协议	1 3. 第二章引导未来:区块链经济七大设计原则	1 4. 第五章 新商业
- Norton AntiVirus 8.0 企业版服务器客户端安装说明
- 根号在c语言中语言表达式,在c语言中根号如何表示,谢啦
- joc杂志影响因子2019_化学sci期刊影响因子排名_国际化学期刊2018最新影响因子_分析测试学报影响因子...
- 微信小游戏开发指南(一)什么是微信小游戏
- Anaconda基本教程及常用命令(介绍、安装、基本操作、管理环境、管理包、conda和pip以及借助pqi换源)
- Fortran 77
- 提取小米手机的备份数据
- 【vue】【开源】vue开源电商项目hello-mall嗨喽商城