PDF de programación - PROGRAMACIÓN AVANZADA EN SHELL

Imágen de pdf PROGRAMACIÓN AVANZADA EN SHELL

PROGRAMACIÓN AVANZADA EN SHELLgráfica de visualizaciones

Actualizado el 26 de Junio del 2017 (Publicado el 19 de Abril del 2017)
1.648 visualizaciones desde el 19 de Abril del 2017
149,1 KB
46 paginas
Creado hace 19a (04/11/2004)
CURSO 03-55
PROGRAMACIÓN AVANZADA EN
SHELL



Ramón M. Gómez Labrador

([email protected])

Octubre de 2.003

03-55 Programación Avanzada en Shell



ÍNDICE

1. Introducción. ....................................................................................................................4
1.1. Características principales de BASH............................................................................4
1.2. Cuándo utilizar el intérprete de mandatos.....................................................................5
2. Modos de operación..........................................................................................................6
2.1. La línea de mandatos. ..................................................................................................6
2.2. Edición y ejecución de un guión. .................................................................................6
2.3. Recomendaciones de programación. ............................................................................7
3. Redirecciones. ...................................................................................................................9
3.1. Redirección de entrada.................................................................................................9
3.2. Redirecciones de salida................................................................................................9
3.3. Combinación de redirecciones. ..................................................................................10
3.4. Redirección de entrada/salida.....................................................................................11
3.5. Documento interno. ...................................................................................................11
3.6. Tuberías.....................................................................................................................12
4. Variables. ........................................................................................................................14
4.1. Tipos de variables......................................................................................................14
4.1.1. Variables locales. ................................................................................................14
4.1.2. Variables de entorno. ..........................................................................................15
4.1.3. Parámetros de posición. ......................................................................................16
4.1.4. Variables especiales. ...........................................................................................17
4.2. Matrices.....................................................................................................................18
4.3. Configuración del entorno. ........................................................................................18
5. Expresiones. ....................................................................................................................20
5.1. Expresiones aritméticas. ............................................................................................20
5.2. Expresiones condicionales. ........................................................................................22
5.2.1. Expresiones de ficheros.......................................................................................23
5.3.2. Expresiones comparativas numéricas. .................................................................24
5.3.3. Expresiones comparativas de cadenas. ................................................................25
6. Entrecomillado y expansión. ..........................................................................................26
6.1. Entrecomillado. .........................................................................................................26
6.2..Expansión..................................................................................................................26
6.2.1. Expansión de llaves.............................................................................................27
2.6.2. Expansión de tilde...............................................................................................27
6.2.3. Expansión de parámetro o de variable. ................................................................28
6.2.4. Sustitución de mandato. ......................................................................................29
6.2.5. Expansión aritmética...........................................................................................30
6.2.6. Sustitución de proceso.........................................................................................30
6.2.7. División en palabras............................................................................................31
6.2.8. Expansión de fichero...........................................................................................31
7. Programación estructurada. ..........................................................................................33
7.1. Listas de mandatos.....................................................................................................33
7.1.1. Listas condicionales. ...........................................................................................33
7.2. Estructuras condicionales y selectivas........................................................................34



2

7.2.1. Estructuras condicionales. ...................................................................................34
7.2.2. Estructura selectiva. ............................................................................................36
7.3. Bucles........................................................................................................................37
7.3.1. Bucles genéricos. ................................................................................................37
7.3.2. Bucles condicionales “mientras” y “hasta”. .........................................................38
7.3.3. Bucle de selección interactiva. ............................................................................39
8. Funciones. .......................................................................................................................40
9. Características especiales...............................................................................................42
9.1. Programas interactivos...............................................................................................42
9.2. Control de trabajos.....................................................................................................43
9.3. Intérprete de uso restringido.......................................................................................44
10. Referencias....................................................................................................................46



3

1. Introducción.

El intérprete de mandatos o "shell" es la interfaz principal entre el usuario y el sistema,
permitiéndole a aquél interactuar con los recursos de éste. El usuario introduce sus órdenes, el
intérprete las procesa y genera la salida correspondiente.
Por lo tanto, un intérprete de mandatos de Unix es tanto una interfaz de ejecución de órdenes
y utilidades, como un lenguaje de programación, que admite crear nuevas órdenes –
denominadas guiones o “shellscripts”–, utilizando combinaciones de mandatos y estructuras
lógicas de control, que cuentan con características similares a las del sistema y que permiten
que los usuarios y grupos de la máquina cuenten con un entorno personalizado [2].
En Unix existen 2 familias principales de intérpretes de mandatos: los basados en el intérprete
de Bourne (BSH, KSH o BASH) y los basados en el intérprete C (CSH o TCSH).
Este curso de formación pretende ser un guía para el usuario de Linux, que le permitirá
comprender, ejecutar y empezar a programar en la Shell, haciendo referencia especialmente a
BASH (Bourne Again Shell) –evolución de BSH, con características de KSH y CSH–, ya que
es el intérprete de mandatos más utilizado en Linux e incluye un completo lenguaje para
programación estructurada y gran variedad de funciones internas.



1.1. Características principales de BASH.

Los principales características del intérprete BASH son:

• Ejecución síncrona de órdenes (una tras otra) o asíncrona (en paralelo).
• Distintos tipos de redirecciones de entradas y salidas para el control y filtrado de la

información.

• Control del entorno de los procesos.
• Ejecución de mandatos interactiva y desatendida, aceptando entradas desde teclado o

desde ficheros..

• Proporciona una serie de órdenes internas para la manipulación directa del intérprete y

su entrono de operación.

• Un lenguaje de programación de alto nivel, que incluye distinto tipos de variables,
operadores, matrices, estructuras de control de flujo, entrecomillado, sustitución de
valores y funciones.

• Control de trabajos en primer y segundo plano.
• Edición del histórico de mandatos ejecutados.
• Posibilidad de usar una "shell" para el uso de un entorno controlado.



4

1.2. Cuándo utilizar el intérprete de mandatos.

Como se ha indicado anteriormente, una “shell” de Unix puede utilizarse como interfaz para
ejecutar órdenes en la línea de comandos o como intérprete de un lenguaje de programación
para la administración del sistema.
El lenguaje de BASH incluye una sintaxis algo engorrosa, pero relativamente fácil de
aprender, con una serie de órdenes internas que funcionan de forma similar a la línea de
comandos. Un programa o guión puede dividirse e
  • Links de descarga
http://lwp-l.com/pdf3106

Comentarios de: PROGRAMACIÓN AVANZADA EN SHELL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad