Busqué en google pero no pude encontrar una respuesta a esta pregunta bastante simple. Tengo un script en Python que tiene el hash-bang en la primera línea (#!):Forma preferida de #! en scripts de shell
#!/usr/bin/python
Sin embargo, lo que si esto se ejecuta en un ordenador con el pitón en/bin/python o/usr/local/bin/python, o algún otro lugar? Tiene que haber una mejor manera de configurar el intérprete para un script de shell. Debería ser posible establecerlo a través de $ PATH, ya que sabrá dónde encontrar Python si está instalado en el sistema.
¡No sabía que env hiciera eso! Sin embargo, este es un riesgo de seguridad menor: un usuario malintencionado puede colocar su propio código binario en ./python y ejecutar acciones como el usuario de destino cada vez que un usuario tiene "." en $ $ PATH ejecuta un script Python con esta línea hash-bang. –
La búsqueda de PATH para sus binarios es normal. El problema en su escenario es que el usuario tiene "." en su camino, no es que estén utilizando la ruta de acceso incorporada del shell para ejecutar comandos. –
@Phil: En principio, estoy de acuerdo en que el problema es con $ PATH, pero en la práctica, si los usuarios comúnmente cometen este error, en cierta medida es irresponsable ignorarlo. –