开发者社区> suboysugar> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

****CodeIgniter使用cli模式运行,把php作为shell编程

简介: shell简介 在计算机科学中,Shell俗称壳(用来区别于核)。而我们常说的shell简单理解就是一个命令行界面,它使得用户能与操作系统的内核进行交互操作。 常见的shell环境有:MS-DOS、Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh)等等。
+关注继续查看

shell简介

在计算机科学中,Shell俗称壳(用来区别于核)。而我们常说的shell简单理解就是一个命令行界面,它使得用户能与操作系统的内核进行交互操作。

常见的shell环境有:MS-DOS、Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh)等等。

shell的脚本格式是固定的,如下:

1
2
3
#!/bin/sh
#comments
Your commands go here

第一行称之为shebang,符号#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序。

 

有两种运行shell的方式:一种是将脚本作为sh的命令行参数,另一种是降脚本作为具有执行权限的可执行文件。

将shell作为命令行参数时的运行方式如下:

1
sh script.sh

如果将脚本作为sh的命令行参数来运行,那么脚本中的shebang行也就没什么用处了。

 

为了是shell脚本能够自己独立运行,需要具备可执行权限。要使脚本独立运行必须利用shebang行。它通过使用位于#!之后的解释器来运行脚本。至于脚本的可执行权限,可以通过chmod命令来设置:

1
chmod a+x script.sh

上面的chmod命令赋予所有用script.sh文件的可执行权限。那么这个脚本就可以作为可执行程序运行:

1
./script.sh

 

php-cli简介

用Shell编程可以灵活地解决大量重复任务,十分方便。但是,Shell的语法十分怪异,不容易记,如果现在熟悉的语言可以用来写shell那就好了——比如php——就可以快速开发Shell程序了。

于是php-cli就营运而生了,php-cli是php Command Line Interface的简称,如同它名字的意思,就是php在命令行运行的接口,区别于在Web服务器上运行的php环境(php-cgi, isapi等)。

也就是说,php不单可以写前台网页,它还可以用来写后台的程序。当然是跟php一模一样啦,因为它就是php嘛!只不过一些默认的参数与php-cgi不同,比如运行时间:php-cli默认运行时间是无穷,而网页php默认设置是30s。

 

codeigniter cli模式

让我们试一试:Hello World!

首先创建一个简单的控制器。使用你的文本编辑器,创建一个叫做 tools.php 的文件,并且输入如下代码:

1
2
3
4
5
6
7
8
9
<?php
class Tools extends CI_Controller {
 
  public function message($to 'World')
  {
    echo "Hello {$to}!".PHP_EOL;
  }
}
?>

 

然后将这个文件保存到你的 application/controllers/ 文件夹里。现在正常情况下你可以通过你网站的 URL 来访问它:

1
example.com/index.php/tools/message/to

除此之外,我们也可以在 Mac/Linux 中打开终端,或者在 Windows 下进入“运行”输入“cmd”,并进入我们的 CodeIgniter 项目的目录。

1
2
$ cd /path/to/project;
$ php index.php tools message

如果你跟这这一步步下来,你应该会看到 Hello World!。

1
$ php index.php tools message "John Smith"

这里我们像使用 URL 参数一样给它传递了一个参数。“John Smith”作为一个参数被传递了,并且输出也变成:Hello John Smith!。

 

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Shell编程基入门
Shell编程基入门
594 0
Shell编程入门(第二版)(中)
变量测试语句-test 作用:用来测试变量是否相等,是否为空,文件类型等。 格式: test 测试条件 或 [] #范围:整数,字符串,文件     1)整数测试:  test int...
798 0
Shell编程入门(第二版)(上)
简单的示例Shell程序 示例1. #!/bin/bash #This is to show what a shell script looks like echo "Our first e...
606 0
Shell编程入门(第二版)(下)
流程控制语句 三、select/in[较少用] 格式: [python] view plaincopy     select [变量] in [关键字]       do            command 1            .
866 0
Shell脚本数组与字符串处理|学习笔记
快速学习Shell脚本数组与字符串处理
62 0
+关注
suboysugar
目前为自由职业者,从事BA业务分析和互联网产品设计等工作,本人先后在中关村在线、中国工商银行和神州数码工作。拥有互联网,移动互联网,软件公司等开发经历。计算机本科毕业,8年互联网和软件行业经验。
710
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载