Detalle del libro
Ver Índice
Introducción
Capítulo 1
A. Definición del shell
B. Características de un intérprete de comandos
C. Historia de Shell
D. Principales intérpretes de comandos
E. Shells tratados en este libro
F. Contenido del libro
Mecanismos esenciales del shell
Capítulo 2
A. Comandos internos y externos
1. Comandos externos
2. Comandos internos
3. Implementación interna e implementación externa
B. Impresión por pantalla
1. El comando echo
a. El carácter "\n"
b. El carácter "\c"
c. El carácter "\t"
d. Listado de caracteres de escape
2. Los comandos print y printf
C. El carácter ~ (tilde)
D. El comando interno cd
E. Sustitución de nombres de archivos
1. Expresiones básicas
a. El carácter *
b. El carácter ?
c. Los caracteres [ ]
2. Expresiones complejas
a. ?(expresión)
b. *(expresión)
c. +(expresión)
d. @(expresión)
e. !(expresión)
f. Alternativas
3. Interpretación del shell
F. Separador de comandos
G. Redirecciones
1. Entrada y salidas estándar de los procesos
a. Entrada estándar
b. Salida estándar
c. Salida de error estándar
2. Herencia
3. Redirección de las salidas en escritura
a. Salida estándar
b. Salida de error estándar
2 Programación shell en Unix/Linux
c. Salida estándar y salida de error estándar
d. Eliminar las impresiones por pantalla
e. Mecanismo interno
4. Redirección de la entrada estándar
5. Redirecciones avanzadas
a. Redirigir los descriptores 1 y 2 hacia el mismo archivo
b. La redirección doble en lectura
c. Cierre de un descriptor
H. Tuberías de comunicación
1. Comandos que no leen su entrada estándar
2. Comandos que leen su entrada estándar
a. Ejemplos triviales
b. Caso de los filtros
3. Complementos
a. Encadenar tuberías
b. Duplicar las salidas
c. Enviar la salida estándar y la salida de error estándar
por la tubería
I. Agrupación de comandos
1. Paréntesis
2. Las llaves
3. Conclusión
J. Procesos en segundo plano
Configuración del entorno
de trabajo
Capítulo 3
A. Variables de entorno
1. Listado de variables
2. Mostrar el valor de una variable
3. Modificación del valor de una variable
4. Variables principales
a. HOME
b. PATH
c. PWD
d. PS1
e. PS2
f. TMOUT
g. TERM
h. LOGNAME
5. Exportación de variables
a. Listado de variables exportadas
b. Variables que deben exportarse
c. Exportar una variable
B. Las opciones del shell
1. Activar y desactivar una opción del shell
2. Visualizar la lista de opciones
3. Opciones principales
a. ignoreeof
b. noclobber
c. emacs y vi
d. xtrace
4 Programación shell en Unix/Linux
C. Los alias
1. Definir un alias
2. Visualizar los alias
a. Visualizar todos los alias
b. Visualizar un alias en particular
3. Eliminar un alias
D. Histórico de comandos
1. Configurar la recuperación de comandos en ksh
a. Opción vi
b. Opción emacs
2. Configurar la recuperación de comandos en bash
3. Completar nombres de archivo
a. Completar en bash
b. Completar en ksh
c. Tabla resumen
E. Los archivos de entorno
1. Características de los archivos de entorno
a. Shell de conexión
b. Archivos de entorno leídos por el shell de conexión
2. Sesión utilizando un Bourne Shell
3. Sesión utilizando un Korn Shell
4. Sesión utilizando un Bourne Again Shell
Las bases de la programación shell
Capítulo 4
A. Las variables de usuario
1. Poner nombre a una variable
2. Definir una variable
a. Asignar una cadena de caracteres a una variable
b. Asignar una cadena de caracteres con al menos un espacio
c. Variable indefinida
d. Borrar la definición de una variable
e. Aislar el nombre de una variable
3. Sustitución de variables
B. Sustitución de comandos
C. Caracteres de protección
1. Las comillas simples
2. El carácter 3. Las comillas dobles
D. Recapitulación
E. Interpretación de una línea de comandos
F. Escritura y ejecución de un script en shell
1. Definición
2. Ejecución de un script por un shell hijo
3. Ejecución de un script por el shell actual
4. Comentarios
6 Programación shell en Unix/Linux
G. Variables reservadas del shell
1. Los parámetros posicionales
2. El comando shift
a. Sintaxis
b. Principio
3. Código de retorno de un comando
a. La variable $?
b. El comando exit
4. Otras variables especiales
a. PID del shell intérprete
b. PID del último proceso ejecutado en segundo plano
H. El comando read
1. Sintaxis
2. Lecturas del teclado
3. Código de retorno
4. La variable IFS
I. Ejecución de verificaciones
1. El comando test
a. Sintaxis
b. Verificaciones de archivos
c. Verificaciones de cadenas de caracteres
d. Verificaciones de números
e. Los operadores
f. Ejemplo concreto de uso
2. El comando [[ ]]
J. Los operadores del shell
1. Evaluación del operador &&
2. Evaluación del operador
Este libro de programación shell está dirigido a usuarios y administradores de sistemas Unix/Linux que desean aprender a programar scripts shell.
Se detallan las funcionalidades de tres shells usados habitualmente y sus diferencias. Los conceptos se presentan de manera progresiva y pedagógica, convirtiendo el libro en un soporte ideal destinado tanto a la formación profesional como a la autoformación.
Los primeros capítulos se destinan al funcionamiento del shell: ejecución de un comando, caracteres especiales del shell usados habitualmente (redirecciones, tuberías,...), configuración del entorno de trabajo del usuario (variables y archivos de entorno,...). Los mecanismos internos se explican detalladamente y se ilustran con múltiples esquemas.
A continuación, el libro se centra en la programación propiamente dicha. Las bases de la programación (variables, estructuras de control, comandos de verificación y cálculo,...) se presentan e ilustran mediante una gran cantidad de ejemplos y, más adelante, se detallan los aspectos avanzados de la programación shell (gestión de archivos, funciones,...).
La última parte trata sobre las utilidades anexas indispensables para el tratamiento de cadenas de caracteres y de archivos de texto: las expresiones regulares básicas y extendidas, el editor no interactivo sed, una visión extendida del lenguaje awk y los principales comandos filtro de los sistemas unix.
Los ejemplos de scripts shells o awk usados en producción incluidos en el libro se pueden descargar en la página www.ediciones-eni.com