LINUX

¿Cuál es la función de Shebang en Linux?

bash shebang linux

los #! los personajes forman un número mágico. Incrustamos estos números mágicos en cualquier script en los sistemas operativos UNIX / Linux para decirle al kernel qué intérprete ejecutar, para leer nuestro script. Como intérpretes de shell de Linux, Python, Perl y R. Es posible que haya notado que todo el shell de Linux y el script Perl / python comienzan con la siguiente línea:

#!/bin/bash

O

#!/usr/bin/env python

O

#!/usr/bin/env perl

O

#!/usr/bin/env Rscript

Ahora escribiremos un archivo de programa para el lenguaje Python. podemos ejecutar este programa llamando al intérprete directamente sin agregar la línea shebang como se muestra a continuación.

python_script

import sys

def greeting(name):
    sys.stdout.write("Hello" + name + "n")

name = "Omar"
greeting(name)

Para ejecutar el código, mencionaremos python antes del nombre del archivo.

python python_script.py
Output
    Hello Omar

También escribiremos un archivo de programa para lenguaje R. podemos ejecutar este programa llamando al intérprete directamente sin agregar la línea shebang como se muestra a continuación.

r_script

print("hello world")

Para ejecutar el código, mencionaremos Rscript antes del nombre del archivo.

Rscript r_script.R
Output
    "hello world"

Cómo hacer un archivo ejecutable

para hacer un archivo ejecutable debemos agregar la línea shebang #!/usr/bin/python a la parte superior del script y cambiando el modo del archivo para que sea ejecutable.

python_script

#!/usr/bin/python
import sys

def greeting(name):
    sys.stdout.write("Hello" + name + "n")

name = "Omar"
greeting(name)

Para que el archivo sea ejecutable, escriba el siguiente comando.

chmod +x python_script.py

Ahora podemos simplemente ejecutar el archivo y Python lo interpretará.

./python_script.py
Output
    Hello Omar

Gran grupo de computadoras

El camino /usr/bin/python probablemente funcionará para la mayoría de los sistemas predeterminados, pero es posible que no funcione en cosas como un gran grupo de computadoras. Entonces usaremos el programa env para obtener el interperter correcto.

#!/usr/bin/env python
import sys

def greeting(name):
    sys.stdout.write("Hello" + name + "n")

name = "Omar"
greeting(name)

También podemos hacer lo mismo con cualquier programa como Rscript.

  #!/usr/bin/env Rscript
  print("hello world")

Leer también:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar