03 - Mi primer script

Índice

1. Cabecera y comentarios internos
2. Mostrar texto en la salida
3. Intercalar comandos al texto de salida
3.1. Caracteres reservados
3.1. Comillas simples
3.2. Comillas dobles
3.3. Acento grave y dolar
4. Continuación y fin de línea
5. Estado final del script
6. Ejemplos


1. Cabecera y comentarios internos

Shebang (#!) se escribe al inicio del script seguido de la ruta absoluta del interprete de órdenes (bash, sh, awk, phyton, ...) en nuestro caso bash. La función de éste conjunto es que el sistema identifique el formato del fichero (script bash).

#!/bin/bash

Numeral (#) antes del texto. Estos comentarios no aparecerán durante la ejecución del script.

# esto es un comentario

2. Mostar texto en la salida

echo -opción cadena
  • opciones:
    • -n → sin salto de línea
    • -e → habilita los caracteres de escape
      • \n → retorno de carro y salto de línea
      • \r → retorno de carro
      • \t → tabulados
  • cadena:
    • de tipo alfanumérico, si contiene caracteres especiales ("#", "&", "|", ";", "\" "(", ")" y las comillas tanto simples como dobles) es necesario el uso de comillas o anteceder el carácter de especial con la barra invertida. También puede contener comandos y variables para que muestre la salida o valor de éstos intercalados con el texto.
      En el caso del símbolo dólar ($) sólo es necesario si el siguiente carácter no es un espacio en blanco.

3. Intercalar comandos al texto de salida

3.1. Comillas simples

'cadena'

Muestra la cadena interpretándola literalmente.

3.2. Comillas dobles

"cadena"

Muestra la cadena e interpreta los comandos y variables.

3.3. Acento grave y dolar

`comando`
ó
$(comando)

Introduce la salida de un comando en el lugar en el que se ha escrito éste.

4. Continuación y fin de línea

Shell interpreta que ejecutar cada línea (a no ser que haya un comentario o esté vacía, estén encerrados entre comillas,...) aunque si queremos tener más de un comando por línea sólo hay que separarlos por un punto y coma (;). Dicho de otra forma, para forzar el fin de una línea se utiliza el símbolo punto y coma.

Para el caso contrario se puede utilizar a la barra invertida (\) para darle a entender al bash que la orden no se ha acabado y continúa en la siguiente línea.

5. Estado final del script

Fuerza la salida y devuelve el estado del script (correcto o error). Se puede utilizar para forzar el fin del script antes de llegar a su final.
No es necesario ponerlo al final del script, aunque sí es buena práctica (ver en discusión un ejemplo de uso de "exit" al final del script).
En el caso que el script no termine con exit N por defecto terminará según la última instrucción del mismo.
Tipo booleano.

  • exit valor
    • valor = 0 → finalización correcta
    • valor ≠ 0 → finalización incorrecta

6. Ejemplos

#!/bin/bash
# Mi primer script linux
echo "¡Hola mundo!"
exit 0

#!/bin/bash
# Mi segundo script linux
echo "Me llamo $USER y estoy en la carpeta `pwd`"
exit 0

#!/bin/bash
# Mi segundo script linux
echo "Me llamo $USER,"; echo "estoy en \
la carpeta `pwd`"; exit 0