Curso básico de Bashscript – Parte 2

No Gravatar

Continuamos con el Zen del bashscript en esta segunda entrega, donde veremos algo de historia para contextualizar la tarea del aprendizaje.

1 – El intérprete de comandos

El interprete de comandos actúa como una interfaz alfanumérica de entrada/salida entre el usuario y el Sistema Operativo (SO), siendo a su vez un programa informático que hace posible que el SO responda a las ordenes introducidas por el usuario mediante una serie de comandos. Su uso nos da una gran flexibilidad sobre el sistema, fundamental para todo aquel que quiera conocer mejor la esencia de los sistemas *NIX (Linux y UNIX) o quiera profundizar en el área de administración de sistemas, programación, redes y servidores. El intérprete de comandos también es llamado interprete de linea de comandos (CLI en sus siglas en Inglés).

Desde su creación, en los entornos Unix/Linux la herramienta que más ha ayudado al administrador a realizar cualquier tipo de tarea administrativa siempre ha sido el intérprete de comandos o shell, incluso tras la implantación de servidores gráficos. Existen muchos intérpretes diferentes, cada cual con sus particularidades, pero el más ampliamente extendido hoy en día en la mayor parte de distribuciones es, sin duda, el intérprete Bash (Bourne Again Shell). Cronológicamente, los diferentes intérpretes más usados fueron apareciendo así:

Bourne Shell (sh)
Creador original: Stephen Bourne, de los Laboratorios Bell de AT&T.
Año de aparición: 1977 – Actualidad
Descripción: Fue el intérprete usado en las primeras versiones de Unix y se convirtió en un estándar de facto.

Korn Shell (ksh)
Creador original: David Korn de los Laboratorios Bell de AT&T.
Año de aparición: Comienzos de los 80s – Actualidad.
Descripción: Escrito para el proyecto GNU (GPL). Sus funciones avanzadas para manejar archivos de comandos lo pusieron a la par con lenguajes de programación especializados como awk y perl.

Bourne-Again Shell (Bash)
Creador original: Brian Fox
Año de aparición: 1987 – Actualidad
Descripción: Escrito para el proyecto GNU, se usa por defecto en la mayoría de las distribuciones de Linux actualmente. La sintaxis de órdenes de Bash incluye ideas tomadas desde Korn Shell. (Tal y como hemos dicho, será Bash el que se usara en el curso).

Zsh
Creador original: Paul Falstad
Año de aparición: 1990 – Actualidad
Descripción: Se diseñó para poder usarse interactivamente. Reúne algunas importantes mejoras.

Hoy en día existen multitud de implementaciones, refritos, forks y versiones para todos los gustos de estos y otros intérpretes, pero nos centraremos especialmente en Bash, por estar presente en la mayor parte de distros mayoritarias.

1.1- Bash (Bourne Again Shell)

Bash es un intérprete escrito para el proyecto GNU, derivado del proyecto sh original (Bourne Shell). Hacia 1977, el shell Bourne (sh) era distribuido exclusivamente en Unix versión 7 gracias a Stephen Bourne, que por entonces era investigador de los Laboratorios Bell y escribió el shell Bourne original. No fue hasta una década más tarde cuando Brian Fox escribió el shell Bash, en 1987. En 1990, Chet Ramey se convirtió en su principal desarrollador y mantenedor. Actualmente sobrevive como soldado de fortuna. Si alguna vez te lo encuentras, quizás puedas contratarlo…

A día de hoy, la programación de scripts para Bash resulta la forma más cómoda de automatizar tareas con ayuda de comandos del sistema, como cron o herramientas como awk o grep. A lo largo de este curso veremos las formas más simples de introducirnos al mundillo del scripting en bash y su metodología de programación, bastante similar a cualquier otra que puedas conocer de antemano.

Para comenzar con la programación de scripts, deberemos tener en cuenta que es muy importante saber trabajar en la línea de comandos (shell), ya que cualquier trabajo que necesitemos realizar en ella, la podremos extrapolar a un script (tal y como haríamos, por ejemplo, en un fichero BATCH de Windows). La forma de ejecutar un script es lineal, pero nos podemos permitir el realizar saltos de una parte a otra del código por medio de llamadas a funciones y otros elementos que veremos a lo largo de este curso de iniciación, pero empezaremos por lo más sencillo para ir, progresivamente, adquiriendo soltura y ganando en dificultad.

Partamos de la base de que disponemos de una shell y dominamos ligeramente la introducción de comandos en ella, aunque sean comandos básicos como ls, ps, cd, pwd, mkdir, rm, etc… para poder navegar por el árbol de directorios de nuestra máquina y realizar tareas simples.

Continua en el siguiente post…

Compártelo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.