Introducción a Bash


Cada sistema Unix pose su propio lenguaje de programación que nos permiten escribir programas basados en comandos y que de algún modo se combinan para realizar una tarea. Estos programas se conocen como Scripts y son interpretados por la línea de comandos o Shell. GNU/Linux trae por default Bash.

Hello Bash

Para comenzar crearemos un archivo llamado script.sh. La primer línea deberá ser la siguiente:

#!/bin/bash

Con esta línea indicaremos el interprete que va a ejecutar el Script, en este caso será Bash.

Para declarar variables tan solo habrá que escribir el nombre de la variable y asignarle un valor inicial. Es importante que no exista ningún espacio en blanco entre el nombre de la variable, el signo de igualdad y el valor asignado.

Para mostrar su contenido tan solo hay que escribir el signo $ seguido del nombre de la variable.

cadena='Hola Bash'
echo $cadena

Nuestro Script completo ha quedado así:

#!/bin/bash

cadena='Hola Bash'
echo $cadena

Para probar el script, tal vez sea necesario asignarle permisos de ejecución, esto lo podemos hacer con el comando chmod a+x script.sh. Recomiendo leer: Protección basada en permisos de acceso.

$ ./script.sh
Hola Bash

Entrada de datos

Vamos a solicitar el nombre del usuario en pantalla y después lo mostraremos. Para ingresar datos se utiliza la instrucción read seguido del nombre de la variable.

read nombre

Y para mostrar el nombre tan solo escribimos:

echo -n "Mucho gusto $nombre"

Con el argumento -n especificamos que no agregue un salto de línea al imprimir el mensaje. El Script completo queda de la siguiente manera:

#!/bin/bash

echo -n "Como te llamas: "
read nombre

echo -n "Mucho gusto $nombre"
echo
$ ./script.sh
Como te llamas: Luis Alberto
Mucho gusto Luis Alberto

Sustitución de comandos

Es posible asignarle un nombre a los comandos. Esto funciona igual que una variable; lo único que hay que hacer es escribir en nombre que asignaremos al comando seguido del signo de igual y el comando a sustituir entre comillas simples.

fecha=`date`

La sustitución puede ser para cualquier comando

#!/bin/bash

fecha=date
echo "El comando a sustituir es: $fecha"
fecha=`date`
echo "La hora y la fecha es: $fecha"
$ ./script.sh
El comando a sustituir es: date
La hora y la fecha es: mar sep 22 00:21:34 CDT 2009

También es posible ejecutar un comando dentro de la instrucción echo como en la siguiente línea de código. Esto es en caso de que no se quiera sustituir el nombre.

#!/bin/bash

echo "La hora y la fecha es: `date`"
$ ./script.sh
La hora y la fecha es: mar sep 22 00:26:30 CDT 2009

Posted in

Leave a Reply