No me quedó claro. ¿Cúal es la utilidad de !/bin/bash?

Pregunta de la clase:
Crear nuestro primer Script
Juan Diego Ramirez Baylón

Juan Diego Ramirez Baylón

Pregunta
studenthace 6 años

No me quedó claro. ¿Cúal es la utilidad de !/bin/bash?

7 respuestas
para escribir tu comentario
    Enzo Venturi

    Enzo Venturi

    studenthace 4 años

    (!#) y lo que le sigue, es la forma de especificar con qué binario se ejecutará el script. Los binarios se ubican en

    /bin/
    o
    /usr/bin

    Irving Juárez

    Irving Juárez

    studenthace 4 años

    De hecho esa cosita se llama shebang que redirecciona o indica cual va ser el comando que va a ejecutar a nuestro archivo

    Javi Felices

    Javi Felices

    studenthace 6 años

    En el curso de terminal, beco lo explica muy bien, si por ejemplo tienes un archivo php, para ejecutarlo tendrías que indicar

    php nombre-de-fichero.php
    . Si pongo
    ./info.php
    saldrá un fallo. En cambio, si al principio del archivo añado la ruta del ejecutable php, si ejecuto ./info.php ahora sí mostrará el resultado. Habría que añadir como primer línea lo siguiente:

    #!/usr/bin/php

    Para un script en bash ocurre lo mismo.

    Un saludo.

    PD: Los ficheros deben de tener permisos de ejecución.

    Eber Angel Quispe Paco

    Eber Angel Quispe Paco

    studenthace 6 años

    Sirve para llamar al intérprete en este caso BASH.

    Nicolás Díaz

    Nicolás Díaz

    studenthace 6 años

    Lo acabo de comprobar...

    Nicolás Díaz

    Nicolás Díaz

    studenthace 6 años

    Sin embargo por lo que tengo entendido el # es solamente un comentario, por lo que si ejecutas $ bash curso.sh sin "#! /bin/bash" va andar igual, incluso si le quitas la extension y digitas $ bash curso se va ejecutar de la misma forma sin "#! /bin/bash".

    Julio J Yépez

    Julio J Yépez

    studenthace 6 años

    Cuando colocas la cabecera

    !/bin/bash
    a un archivo, que a su vez has dado permisos de ejecución
    --x--x
    , estás indicando al sistema operativo cuál será la aplicación que se encargará de hacer dicha ejecución ... De esta manera pudieras colocarle incluso cualquier extensión al archivo ya que al ejecutarlo con la instrucción de la terminal
    >./archivo.ext
    , sería esta cabecera la que definirá su comportamiento.

Curso de Bash Shell

Curso de Bash Shell

Con Bash-Shell puedes: manipular archivos y carpetas, ejecutar aplicaciones, conectar una Apps y automatizar procesos repetitivos.

Curso de Bash Shell
Curso de Bash Shell

Curso de Bash Shell

Con Bash-Shell puedes: manipular archivos y carpetas, ejecutar aplicaciones, conectar una Apps y automatizar procesos repetitivos.