php脚本#!/usr/bin/env php写法的好处

最近在写PHP脚本发现有些脚本有这么个写法,长见识了。

脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它。
比如PHP脚本的第一行可以写成如下几种格式
#!/usr/bin/PHP
#!/usr/bin/env PHP
#!/usr/bin/env -S -P/usr/local/bin:/usr/bin PHP
#!/usr/bin/env -S-P/usr/local/bin:/usr/bin:${PATH} PHP

#!/usr/bin/env PHP写法的好处
这种写法主要是为了让你的程序在不同的系统上都能适用。

不管你的PHP是在/usr/bin/PHP还是/usr/local/bin/PHP
#!/usr/bin/env PHP自动的在你的用户PATH变量中所定义的目录中寻找PHP来执行的。

加上-P参数使用来指定一些目录去寻找PHP这个程序
#!/usr/bin/env -S -P/usr/local/bin:/usr/bin PHP的作用就是在/usr/local/bin和/usr/bin目录下寻找PHP

为了让程序更加的有可扩展性,可以写成如下代码
#!/usr/bin/env -S-P/usr/local/bin:/usr/bin:${PATH} PHP
#!/usr/bin/env -S-P/usr/local/bin:/usr/bin:${PATH} perl
(-S-P之间没有空格)
那么它除了在这两个目录寻找之外,还会在PATH变量中定义的目录中寻找。

#!/usr/bin/PHP写成 #!/usr/bin/env PHP会好些,当然更好的是#!/usr/bin/env -S-P/usr/local/bin:/usr/bin:${PATH} PHP
一般使用#!/usr/bin/env PHP这种写法就能兼容大部分服务器了。

同理,python脚本开头写法:

#!/usr/bin/env python

done!

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...