PHP也可以当成Shell Script使用

PHP 执行档的安装

一般 PHP 作为网页处理语言都是要编译成 Apache 的模块﹐这里当然不么做﹐也因此编译起来很简单﹐只要以 root 的身分进行如下动作 :

解开 php-3.0.xx.tar.gz

cd php

configure

make

编译完之后﹐在 php 目录下有一个可执行档﹐档名为 php﹐将它 copy 到 /usr/local/bin 下即可。注意﹐如果档案太大﹐可以使用 strip 指令将 php 的方式将不必要的信息去除﹐这样档案就会小得多了。

第一个程序

开始撰写我们的第一个 PHP Shell Script 程序﹐这个例子印出 "Hello world !" :

  #!/usr/local/bin/php -q
   echo "Hello, world !";
   ?>

注意到 PHP 原本是应用在网页应用的﹐因此它内定会送出 HTML 的 HEADER﹐但是在此我们是要将 PHP 用作 Shell Script﹐"-q" 就是表示不要送出 HEADER 的意思﹐你可以试试看不加上 -q 的显示结果。

在这个例子中﹐/usr/local/bin/php 是表示要执行 /usr/local/bin/ 下的 PHP﹐因为我们刚才将它装在该处。echo 指令将 "Hello, world !" 印出﹐其中的 "" 字符是换行字符。

注意到在将这个程序存成档案后﹐须将其 chmod 成为可执行属性(chmod +x 文件名)﹐然后才能执行喔。

进阶使用 I

有时候我们需要在程序执行时﹐送进一些参数﹐比如说 ls 这个指令﹐后面可以加上 -l 参数﹐PHP Shell Script 一样也有支持这样的用法﹐有两个特殊的变量 : $argc 记录着后面送入参数的个数﹐$argv[] 数组参数存着的则是参数的内容。比如说我现在要设计一个算两个数字总和的程序 :

  #!/usr/local/bin/php -q
   $sum=0;
   $sum=$sum+$argv[1]+$argv[2];
   echo $sum;
   ?>

假设将此程序命名为 sum.php3﹐则执行 sum.php3 1 2 按下 enter 则会印出 3。

如果要算出不特定个数的参数和﹐那么就得要用到 $argc 这个特殊变量了 :

  #!/usr/local/bin/php -q
     $sum=0;
   for ($t=1;$t<=$argc;$t++)
   $sum=$sum+$argv[$t];
   echo $sum;
   ?>

假设将此程序命名为 bigsum.php3﹐则执行 bigsum.php3 1 2 3 4 5 按下 enter 则会印出 15﹐执行 bigsum.php3 1 2 3 4 5 6 按下 enter 则会印出 21。

时间: 2024-09-18 23:00:54

PHP也可以当成Shell Script使用的相关文章

[转]PHP也可以當成Shell Script

PHP 怎么这么红   最近 PHP(Personal Hypertext Preprocessor) 似乎已经成了这一两年来 Linux/Unix 上最广为大家所使用的网页处理语言﹐它的方便.强大功能与 OpenSource 的特性使得它正逐渐侵蚀到传统 CGI 甚至是 MicroSoft ASP(Active Server Page)的市场﹐几乎各大网站征招人才莫不以会 PHP 作为基本条件.   PHP 确实有这个资格可以这么红﹐原因有下面数点 :   PHP 是 OpenSource 软

Shell Script方式的PHP(转) 这种方式颇有点像PERL的CGI方式。。:)

cgi|perl Shell Script方式的PHP PHP 怎么这么红  最近 PHP(Personal Hypertext Preprocessor) 似乎已经成了这一两年来 Linux/Unix 上最广为大家所使用的网页处理语言﹐它的方便.强大功能与 OpenSource 的特性使得它正逐渐侵蚀到传统 CGI 甚至是 MicroSoft ASP(Active Server Page)的市场﹐几乎各大网站征招人才莫不以会 PHP 作为基本条件.  PHP 确实有这个资格可以这么红﹐原因有下

Denyhosts shell script

#!/bin/sh #Denyhosts shell script cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2"="$1;}' > /root/blacklist.txt DEFINE="5" for i in `cat /root/blacklist.txt` do IP=`echo $i | awk -F= '{print $1}

linux基础之Shell Script入门介绍_linux shell

linux基础之Shell Script 1 Shell Scipt使用指令和基本程序设计结构写成的程序,可以完成复杂的处理流程 1.1 程序书写 复制代码 代码如下: #!/bin/bash# Program:#       This program shows "Hello Wrold" in your screen.# History:# 2013/2/3 on_1y First releasePATH=$PATHexport PATHecho -e "Hello Wo

Linux Shell Script (一) -- Basic Concepts

1. Run the shell   $ sh script.sh # Assuming script is in the current directory.  Or:  $ sh /home/path/script.sh # Using full path of script.sh.      #讲脚本改为可执行模式     $ chmod a+x script.sh      $ ./script.sh #./ represents the current directory   Or: 

迥异的Linux Shell Script

摘要:如果你已经习惯编写Shell脚本,那么一切都显得很自然了.但像我这样,之前已经习惯了C语言(风格)的编程,就觉得Shell并不是那么友好.这里将记录一些Shell和"C风格"迥异的地方,以供参考.本文测试环境:GNU bash, version 3.00.15(1)-release (i386-redhat-linux-gnu).文章中很多实例直接来在参考文件[1].[2]. 1.变量定义等号两边不能有空格 #!/bin/bash myvar=3 #正确myvar = 3; #等

How to execute shell script in Java?

经常需要在Java中调用其它的脚本(shell,cmd), 以前都用: Runtime r = Runtime.getSystemRuntime(); r.exec("whatever you want to run");  但是有时侯其运行结果是不可预期的,带来很多麻烦.从java 5.0以后,引入了ProcessBuilder to create operating system processes: String cmd = "cd ../.. ; ls -l"

PHP也可以當成Shell Script_php基础

   PHP 怎么这么红   最近 PHP(Personal Hypertext Preprocessor) 似乎已经成了这一两年来 Linux/Unix 上最广为大家所使用的网页处理语言﹐它的方便.强大功能与 OpenSource 的特性使得它正逐渐侵蚀到传统 CGI 甚至是 MicroSoft ASP(Active Server Page)的市场﹐几乎各大网站征招人才莫不以会 PHP 作为基本条件.   PHP 确实有这个资格可以这么红﹐原因有下面数点 :   PHP 是 OpenSourc

[转]PHP也可以

PHP 怎么这么红     最近 PHP(Personal Hypertext Preprocessor) 似乎已经成了这一两年来 Linux/Unix 上最广为大家所使用的网页处理语言╋它的方便.强大功能与 OpenSource 的特性使得它正逐渐侵蚀到传统 CGI 甚至是 MicroSoft ASP(Active Server Page)的市场╋几乎各大网站征招人才莫不以会 PHP 作为基本条件.    PHP 确实有这个资格可以这么红╋原因有下面数点 :     PHP 是 OpenSou