GNU/Linux >> Tutoriales Linux >  >> Linux

¿Usar la extensión .sh o .bash para scripts Bash?

(Consulte Use #!/bin/sh o #!/bin/bash para obtener compatibilidad y facilidad de uso con Ubuntu-OSX y POSIX)

Si quiero que mis scripts usen el shell bash, el uso de la extensión .bash en realidad invoca bash o depende de la configuración del sistema/primera línea shebang. Si ambos estuvieran vigentes pero fueran diferentes, ¿cuál tendría prioridad?

No estoy seguro de si terminar mis scripts con .sh para indicar simplemente "script de shell" y luego hacer que la primera línea seleccione el shell bash (por ejemplo, #!/usr/bin/env bash ) o si simplemente terminarlos con .bash (así como la configuración de la línea 1). Quiero que se invoque bash.

Respuesta aceptada:

¿El uso de la extensión .bash en realidad invoca a bash o depende
de la configuración del sistema / 1ra línea shebang.

Si no usa un intérprete explícitamente, entonces el intérprete que se invoca está determinado por el shebang utilizado en el guión. Si usa un intérprete específicamente, al intérprete no le importa qué extensión le dé a su script. Sin embargo, la extensión existe para que sea muy obvio para los demás qué tipo de secuencia de comandos es.

[[email protected] ~]$ cat ./ext.py
#!/bin/bash
echo "Hi. I am a bash script"

Ver, .py la extensión del script bash no lo convierte en un script de python.

[[email protected] ~]$ python ./ext.py
  File "./ext.py", line 2
    echo "Hi. I am a bash script"
                                ^
SyntaxError: invalid syntax

Siempre es un bash guión.

[[email protected] ~]$ ./ext.py
Hi. I am a bash script

Linux
  1. Cómo usar una contraseña cifrada en Linux Bash Shell Script

  2. Cómo usar la declaración condicional if else en Bash Script

  3. Usando Bash para la automatización

  4. ¿Cómo resaltar los scripts de Bash en Vim?

  5. Use la variable Bash dentro de la secuencia de comandos SLURM sbatch

Golpe para bucle

Escribir comentarios en Bash Scripts

Cómo usar declaraciones condicionales en Bash Scripts

Cómo usar el comando echo en Bash Scripts en Linux

Bash Beginner Series #3:Pasando Argumentos a Bash Scripts

Bash Script for Loop explicado con ejemplos