9.5.- Programación de script

Gran parte del trabajo en un sistema Linux se desarrolla escribiendo comandos. Algunas de estas tareas son repetitivas pero, afortunadamente, Linux incluye un modo de evitar semejante hastío:

shell_monitorLos scripts de consola, que son sencillos programas escritos en un lenguaje interpretado por el ordenador que está embebido en la consola de Linux que utilizamos para escribir comandos. La mayoría de los sistemas utilizan por defecto la consola bash, por lo que, con frecuencia, los scripts de consola están escritos en lenguaje de bash, este es similar a tcsh y otros lenguajes de consola. Podemos ejecutar scripts escritos en consolas distinta a la nuestra identificando en  la primera línea del script la consola que se debe utilizar para ejecutarlo. Como cualquier otra tarea de programación, la programación de consola puede ser bastante compleja. Para utilizar un script tendremos que saber cómo iniciarlo; una vez lo logremos descubriremos que una de las tareas más fáciles es llamar a comandos externos. Las tareas más avanzadas incluyen el uso de variables y expresiones condicionales.

Hay distintos intérpretes de comandos para distintas plataformas por ejemplo:

  • Shell POSIX

    shell_posix

    Ejemplo de Shell POSIX (en algunas plataformas, en otras llamados Bourne Shell).

  • Bourne Again Shell

    shell_bash

    Plataforma Bourne Shell. El bash ejecuta los script usando las funcionalidades de los Shell’s Bourne y Bourne Again.

  • C-Shell

    shell_csh

    Ejemplo de una terminal C-Shell, no interpreta los script que usen las funcionalidades de los Shell’s Bourne, POSIX, Korn y Bourne Again. Sólo entiende su propia sintaxis.

  • Korn Shell
shell_ksh

Terminal Korn Shell. Éste terminal interpreta los script utilizando las funciones de los Shell’s Bourne, POSIX y Korn.

Muchos script de inicio de Linux, incluidos los scripts de inicio SysV, son de hecho scripts de consola. Por lo tanto, es necesario que sepamos programar consolas si desea modificar un script de inicio de Linux.

TEMARIO: