ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Introducción a la creación de shell scripts con bash


Enviado por   •  17 de Septiembre de 2013  •  1.872 Palabras (8 Páginas)  •  217 Visitas

Página 1 de 8

Introducción a la creación de shell scripts con bash

Una de las cosas con la que trabajamos mucho los administradores linux es la programación de shell scripts, dado que éstos nos dan la posibilidad de preparar tareas que simplifican nuestro trabajo diario.

Veamos a continuación un pequeño guión introductorio sobre programación de shell scripts.

Para escribir un shell script necesitamos un editor de texto plano, como por ejemplo: nano o gedit. En realidad nos vale cualquier editor de texto, siempre y cuando el archivo lo guardemos como text/plain.

1. Cómo se crea un script

Vamos a crear un fichero al que llamaremos script.sh. Para ello, abrimos nano, gedit o cualquier otro editor de texto y escribimos:

#!/bin/sh

echo Este es mi primer script en bash!

Podemos ejecutarlo haciendo una llamada al shell y pasando como parámetro el nombre del script:

$ sh script.sh

También podemos hacerlo ejecutable dándole permisos de ejecución:

$ chmod +x script.sh

Una vez añadido el permiso de ejecución, ya podemos ejecutarlo directamente:

$ ./script.sh

Pero si lo que queremos es poder llamarlo desde cualquier lugar, lo copiaremos a un directorio de ficheros ejecutables, como por ejemplo: /usr/bin o /usr/local/bin.

Si observamos el código fuente de nuestro pequeño script, veremos que consta de dos líneas:

En la primera se indica el shell que se va a usar como intérprete para este script: #!/bin/sh. Esta siempre debe ser la primera línea de un shell script.

La segunda línea contiene el comando echo, que muestra un mensaje por pantalla.

2. Variables

Una variable es un contenedor que almacena un valor. Utilizamos variables para guardar valores que necesitaremos en nuestro script. Un detalle que debemos indicar es que las variables en shell script no tienen tipos asociados.

Veamos a continuación cómo se asigna un valor a una variable:

Ejemplos:

# Asignamos el valor 1 a i

i=1

# Asignamos Bienvenidos a la programación de shell scripts! a la variable cadena

cadena="Bienvenidos a la programación de shell scripts!"

Una cuestión importante: No podemos dejar espacios entre la variable y el igual o el igual y el valor, porque el shell lo interpretará como un comando y nos dará error.

Veamos ahora como podemos obtener el valor de una variable.

Para acceder al contenido de una variable empleamos $ delante de su identificador:

Ejemplos:

$ i=4

# Mostramos el valor de la variable i por pantalla

echo $i

echo "El valor asignado a i es $i"

3. Uso de parámetros en scripts

Podemos usar parámetros en nuestros scripts. Dichos parámetros nos permitirán pasar valores externos que utilizaremos dentro:

$0 contiene el nombre nombre de nuestro script

$# contiene el número de parámetros con los que se ha invocado al shell

$n contiene los parámetros, con n de 1 a 9 (a $#)

{$n} cuando n > 9, tenemos qu especificar los parámetros entre llaves

$$ contiene el PID de nuestro proceso

$* todos los parámetros menos $0

4. La salida de los programas

Cuando se ejecuta un programa, un comando UNIX es un programa, podemos, a parte de redirigir su entrada y su salida, recoger el resultado de su ejecución y su salida.

El resultado es un valor numérico, por lo general cero si todo ha ido bien, y distinto de cero si ha habido alguna clase de error.

- Para obtener el resultado de la ejecución del último comando, utilizamos $?

Ejemplo:

mkdir /home/alumnos/$idalumno > /dev/null ; echo $?

if [ $?=0 ]; then

echo "El directorio $idalumno se ha creado sin problemas"

fi

- Para obtener la salida de un comando, utilizamos $(comando) o comillas invertidas: `comando`

Ejemplo:

$ directorioactual=`pwd`

$ echo $directorioactual

- Para devolver el resultado de ejecución de un script, utilizamos exit valor, donde valor debe ser un numéro entero.

Ejemplo:

exit 0 # Termina el programa y devuelve cero como valor de salida

5. Operadores aritméticos

Si queremos que el shell evalúe una operación aritmética y no la tome como argumentos de un comando, escribiremos la expresión observando la siguiente sintaxis: $((expresion))

Al escribir la expresión de este modo, el shell la evalúa y la reemplaza por su valor.

Ejemplo:

$ echo $((1+1))

Algunos de los operadores aritméticos soportados son:

+ la suma

*

...

Descargar como (para miembros actualizados)  txt (12.7 Kb)  
Leer 7 páginas más »
Disponible sólo en Clubensayos.com