突出显示代码

以下是希望从给定文件中一次选取一行的shell脚本。

#!/bin/sh > myhighlight.txt file='to_study.php' cat $file | while read -r myline do export $myline php -r 'highlight_string("$myline");' >> myhighlight.txt done 

PHP无法理解$ mylinevariables。 有什么办法可以使这个代码工作?

你有你的报价开关了,你想php -r "highlight_string('$myline');" 。 就PHP而言,这将使它点亮一个常量string,这是bash所馈入的东西。

单引号是用来打印所有内容的。 所以,PHP会抛出你的代码下面的错误:

 PHP Notice: Undefined variable: myline in Command line code on line 1 

使用双引号扩展variables:

 php -r "highlight_string($myline);" >> myhighlight.txt 

不需要用单引号包装$mylinevariables。

我总结,单引号比双引号强。

PS:如果你正在写vim ,注意高亮语法function。 默认情况下,一个string将是红色,紫色的variables。