GNU/Linux >> Tutoriales Linux >  >> Linux

Python:¿cómo sabe /usr/bin/env qué programa usar?

Cuando uso shebang #!/usr/bin/env python para ejecutar un script, ¿cómo sabe el sistema qué python ¿usar? si busco un python bin ruta en las variables de entorno no encuentro nada.

env | grep -i python

Respuesta aceptada:

El shebang espera que se use una ruta completa al intérprete, por lo que la siguiente sintaxis sería incorrecta:

#!python

Establecer una ruta completa como esta podría funcionar:

#!/usr/local/bin/python

pero no sería portátil ya que python podría estar instalado en /bin , /opt/python/bin , o en cualquier otro lugar.

Usando env

#!/usr/bin/env python

es un método que permite una forma portátil de especificar al sistema operativo una ruta completa equivalente a aquella donde python se encuentra primero en el PATH .


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. ¿Cómo hacer Chmod sin /usr/bin/chmod?

  3. Linux – ¿Fusionar /usr/bin y /usr/sbin en /bin (gnu/linux)?

  4. ¿Cómo mide /usr/bin/time el uso de la memoria?

  5. ¿Cómo hacer que el comando python3 ejecute Python 3.6 en lugar de 3.5?

Linux:¿/sbin/init no existe?

¿Por qué /bin/sh apunta a /bin/dash y no a /bin/bash?

Instalar binarios en /bin, /sbin, /usr/bin y /usr/sbin, interacciones con --prefix y DESTDIR

¿Cuál es la diferencia entre #!/usr/bin/env bash y #!/usr/bin/bash?

cmake --version apunta a /usr/bin/cmake mientras que cmake apunta a /usr/local/bin

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?