Skip to main content
 首页 » 编程设计

php之在 linux 中的 bash 的 .sh 之类的脚本中使用 php 和 perl 以及 R 等等是否可以

2026年03月30日36luoye11

正如标题所说。 我想在 bash 的 .sh 之类的脚本文件中使用 php 和 perl,但如果可能的话我不这样做? 如果可以的话,在bash脚本中可以写php/perl/R,会很方便! 谢谢..... 就像:

#/bin/bash 
some bash code  
.... 
#/usr/bin/php 
some php code  
... 
#/usr/bin/perl 
some perl code  
... 

请您参考如下方法:

不是真的 - 至少不是您期望的那样。

要了解原因,您需要了解 hashbang ( #!) 的工作原理。

Linux 内核,当它尝试执行文件时,首先检查它的前 2 个字节是否等于 #! .如果这是真的,那么直到新行( /usr/bin/perl/usr/bin/php )的剩余字节被认为是脚本执行者的名称。现在,进程重新启动,/usr/bin/perl <original_script>试图执行。因为perl是原生Linux可执行文件,解析过程最终可以停止,程序正常执行。

请注意,此过程仅查找文件的前 2 个字节。您希望它适用于其他线路,但这行不通。

但是,您可以做的是用一种语言编写您的程序 - 可以是 bash , perl , phpR .然后,每种语言都有相当于 system() call,可用于调用用“外来”语言编写的函数。然而,不推荐这样做,因为它涉及进程 fork ——它可能很慢且不可靠。用一种语言编写所有内容要好得多。当然,您通常无法避免这种情况,而不得不调用其他脚本 - 尽量减少它。