您当前的位置: 主页 > 行业动态 >

使用PHP作为shell脚本语言

更新时间:2018-12-03 08:45  来源:郑州php培训

众所周知,PHP是一种非常好的动态web开发语言(快速、短的开发周期…)。但是只有少数人认识到PHP也可以是编写shell脚本的良好语言。当使用PHP作为编写shell脚本的语言时,它没有Perl或Bash那么强大,但是它具有很大的优势,特别是对于像我这样熟悉PHP但不太熟悉Perl的人来说。
    
     要使用PHP作为shell脚本语言,必须将PHP编译为二进制CGI,而不是Apache模式;编译PHP作为二进制CGI模式,运行时存在一些安全问题,这些问题可以在PHP手册(http://www. php.net)中解决。将变得更好:PHP作为一般动态Web编程语言和shell脚本语言的唯一区别在于,shell脚本需要在生命的第一行解释脚本的路径:
    
     哎呀!/Ur/Real/bin /php-qphp $FrestyNoNe= $ARGV { 1 };$LASSTYNAME= $ARVV { 2 };PrtTf(hello,%s%s!霍华德你到戴恩
    
     $ARGV数组也作为动态Web编程语言包含在PHP中,但也有一些不同之处:当PHP是shell脚本语言时,$AGV{0 }对应于脚本的文件名,当用于动态网页编写时,$ARVV { 1 }对应于曲的第一个参数。红线
    
     2。编写一个交互式shell脚本:如果一个shell脚本只是运行它自己而失去了交互性,那么它就没有意义了。当在编译Shell脚本时使用PHP时,我们如何读取用户输入信息不幸的是,PHP本身没有读取用户输入信息的函数或方法,但我们可以像其他语言一样编写读取用户输入信息的函数。
    
     PHPFrutsRead(){$FP= fOpen{(/DEV/STDIN),r);$输入=FFET($FP,255);Fclose($FP);返回$输入;}
    
     注意,上面的函数只能在Unix系统上使用(其他系统需要相应地更改)。上面的函数打开文件指针,读取不超过255字节的行(即fget函数),然后关闭文件指针并返回读取信息。E函数读取修改我们以前的程序1,使其更具交互性:
    
     哎呀!%usrfirst_last_name_Nicetomeyou');
    
     保存上面的程序并运行它,你可能会看到一些意想不到的东西:输入的最后一行变成三行!这是因为read函数返回信息,该信息还包括用户每行的结束换行符n,该换行符n保留在名称和名称中。要删除结束换行符,需要修改读取函数。
    
     PHP函数read
    
     第三,用其他语言编写的shell脚本包括用PHP编写的shell脚本:有时我们可能需要将用PHP编写的shell脚本包括在用其他语言编写的shell脚本中。事实上,它非常简单。这里有一个简单的例子:
    
     /bin BaseCho此代码的选择。/Ur/Lealbin /php-qeopphpPress(这是PHP选择代码);
    
     哎呀!/bin BaseCho此代码的选择。/Ur/Real/bin /PHP-QEOFPHP $ MyVal=PHP;打印(这是代码的$MyValScAcess);
    
     您可以看到,这两种代码之间的唯一区别在于,第二次使用$myVar变量时,尝试一下,PHP给出错误的消息:Parseerror:parseerrorin-online2!这是因为BASH中的变量也是$MyVar,BASH解析器首先替换变量。要解决这个问题,您需要在每个PHP变量前面加一个转义字符。刚刚更改的代码如下:
    
     哎呀!/bin BaseCho此代码的选择。/Ur/Real/bin /PHP-QEOFPHP $ MyVal=PHP;打印(这是代码的$MyValScAcess);