ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PROGRAMACION SHELL AVANZADA

danzo6651 de Agosto de 2011

8.025 Palabras (33 Páginas)810 Visitas

Página 1 de 33

CURSO 03-55

PROGRAMACIÓN AVANZADA EN

SHELL

Ramón M. Gómez Labrador

(ramon.gomez@eii.us.es)

Octubre de 2.003

2

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

3

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

4

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

...

Descargar como (para miembros actualizados) txt (64 Kb)
Leer 32 páginas más »
Disponible sólo en Clubensayos.com