Script interpretati: implicita e esecuzione esplicita
-
16-09-2020 - |
Domanda
in Questa domanda su superuser mi è stata avvisata che è meglio eseguireScript scritti in un linguaggio interpretato (PHP, Python, ecc.) Eseguendo esplicitamente l'interpretazione e fornendo lo script come argomento, come:
> php script.php
Piuttosto che aggiungere una linea allo script per dire al sistema operativo di eseguirlo, come:
#!/usr/bin/php
<?php
echo "hello world";
?>
.
Perché è vero?La mia intuizione mi dice che è più sicuro, nel caso in cui lo script sia spostato in un sistema in cui l'eseguibile dell'interprete si trova in un percorso diverso, ma è l'unica ragione?
Soluzione
La portabilità è migliorata se si utilizza questo Idiom:
#!/usr/bin/env php
.
Ma ha inconvenienti di sé;Vedi una discussione più lunga a http://sites.google.com/site/frankpzh/ Knowledge-biblioteca / shebang
Altri suggerimenti
Diversi percorsi sarebbero la ragione principale, specialmente quando i binari iniziano a essere memorizzati in percorsi denotati X64 o installato in / usr / locale / bin / php.