Este libro sobre la programación shell se dirige a los usuarios y administradores de sistemas Unix/Linux, que deseen formarse en la escritura de scripts shell. Se detallan las funcionalidades de los shells ksh 88, ksh93 y bash y cuando sea necesario, se especifica el cumplimiento del estándar POSIX. Se utiliza el mismo criterio para la compatibilidad con el histórico shell Bourne. Los temas se presentan de forma progresiva y pedagógica, lo que hace que este libro sea un soporte ideal destinado...
Este libro sobre la programación shell se dirige a los usuarios y administradores de sistemas Unix/Linux, que deseen formarse en la escritura de scripts shell. Se detallan las funcionalidades de los shells ksh 88, ksh93 y bash y cuando sea necesario, se especifica el cumplimiento del estándar POSIX. Se utiliza el mismo criterio para la compatibilidad con el histórico shell Bourne. Los temas se presentan de forma progresiva y pedagógica, lo que hace que este libro sea un soporte ideal destinado tanto a la formación profesional como a la autoformación.
Los primeros capítulos se dedican al funcionamiento del shell: ejecución de un comando, caracteres especiales del shell empleados con frecuencia (redirecciones, pipes, etc.), configuración del entorno de trabajo del usuario (variables y archivos de entorno, etc.).
El libro continúa con la programación propiamente dicha. Se presentan los aspectos básicos de la programación (variables, estructuras de control, comandos de prueba y de cálculo, etc.) y se ilustran con muchos ejemplos. Posteriormente, se detallan los aspectos avanzados de la programación shell (gestión de archivos, funciones, etc.). Se explican en detalle los mecanismos internos del shell y se ilustran con numerosos esquemas.
La última parte del libro se dedica a las herramientas complementarias indispensables para el tratamiento de cadenas de caracteres y archivos de texto: las expresiones regulares básicas y extendidas, el editor no interactivo sed, una visión extendida del lenguaje awk rico en funcionalidades gawk, al igual que los principales comandos de filtro de los sistemas Unix. El capítulo Como hacer... resume las problemáticas principales y presenta diferentes métodos de resolución.
Los ejercicios permitirán al lector practicar la escritura de scripts shells a lo largo del libro. Las soluciones se presentan en el último capítulo.
Los ejemplos de los scripts presentados en el libro, al igual que los scripts de solución a los ejercicios, se pueden descargar desde el sitio web www.ediciones-eni.com.
Interpretación de un script mediante un shell hijo
Anexos
Caracteres especiales de shell
Comandos internos de shell
Clases de caracteres POSIX
Orden de interpretación de un comando
Soluciones a los ejercicios
Soluciones del capítulo Mecanismos esenciales del shell
1. Funcionalidades varias
a. Ejercicio 1: comandos internos y externos
b. Ejercicio 2: generación de nombres de archivo
c. Ejercicio 3: separador de comandos
2. Redirecciones
a. Ejercicio 1
b. Ejercicio 2
c. Ejercicio 3
d. Ejercicio 4
e. Ejercicio 5
f. Ejercicio 6
3. Tuberías de comunicación
a. Ejercicio 1
b. Ejercicio 2
c. Ejercicio 3
d. Ejercicio 4
Soluciones del capítulo Configuración del entorno de trabajo
1. Variables de entorno
a. Ejercicio 1
b. Ejercicio 2
2. Alias de comandos
a. Ejercicio 1
b. Ejercicio 2
Soluciones del capítulo Las bases de la programación shell
1. Variables, caracteres especiales
a. Ejercicio 1: variables
b. Ejercicio 2: variables
c. Ejercicio 3: sustitución de comando
d. Ejercicio 4: caracteres de protección
2. Variables, visualización y lectura del teclado
a. Ejercicio 1: variables
b. Ejercicio 2: parámetros posicionales
c. Ejercicio 3: lectura de teclado
3. Tests y aritmética
a. Ejercicio 1: tests a los archivos
b. Ejercicio 2: tests de cadenas de caracteres
c. Ejercicio 3: tests numéricos
d. Ejercicio 4: aritmética
e. Ejercicio 5: operadores lógicos de los comandos [ ], [[ ]] yoperadores lógicos del shell
4. Estructuras de control if, case, bucle for
a. Ejercicio 1: los comandos [ ] y [[ ]],la estructura de control if
b. Ejercicio 2: estructuras de control case, bucle for
5. Bucles
a. Ejercicio 1: bucle for, comando tr
b. Ejercicio 2: bucle for, aritmética
c. Ejercicio 3: bucles for, while
Soluciones del capítulo Aspectos avanzados de la programación shell
1. Funciones
a. Ejercicio 1: funciones simples
b. Ejercicio 2: funciones simples, valor de retorno
c. Ejercicio 3: paso de parámetros, retornode valor
d. Ejercicio 4: archivos
e. Ejercicio 5: archivos, funciones, menú select
f. Ejercicio 6: archivos, tablas asociativas (bash 4,ksh93)
Soluciones del capítulo Expresiones regulares
1. Expresiones regulares
a. Ejercicio 1: expresiones regulares con vi
b. Ejercicio 2: grep
Soluciones del capítulo El comando sed
1. Expresiones regulares
a. Ejercicio 1: inserción de marcadores en unarchivo
b. Ejercicio 2: formato de archivos
Soluciones del capítulo El lenguaje de programación awk
1. awk en línea de comandos
a. Ejercicio 1: awk y otros filtros
b. Ejercicio 2: criterios de selección
c. Ejercicio 3: criterios de selección, visualizaciónde campos, secciones BEGIN y END
2. Scripts awk
a. Ejercicio 4: funciones
b. Ejercicio 5: análisis de un archivo de log
c. Ejercicio 6: generación de un archivo deetiquetas
Christine DEFFAIX RÉMY
Christine DEFFAIX RÉMY es ingeniera informática en Ociensa Technologies, especialista en desarrollo informático, especialmente en entornos Unix y Linux. Participa en proyectos de desarrollo y formación en grandes cuentas. Su sólida experiencia se combina con sus cualidades pedagógicas, para ofrecer al lector un libro realmente efectivo sobre cómo aprender a escribir shell scripts.