La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

MATERIA: SISTEMAS OPERATIVOS II INTEGRANTES: CARLOS NAJERA LUIS ACOSTA ANGEL CASTILLO.

Presentaciones similares


Presentación del tema: "MATERIA: SISTEMAS OPERATIVOS II INTEGRANTES: CARLOS NAJERA LUIS ACOSTA ANGEL CASTILLO."— Transcripción de la presentación:

1 MATERIA: SISTEMAS OPERATIVOS II INTEGRANTES: CARLOS NAJERA LUIS ACOSTA ANGEL CASTILLO

2 CONCEPTOS GENERALES:  El shell proporciona una interfaz entre el núcleo y el usuario. Se puede describir como un intérprete: interpreta las órdenes que introduce el usuario y las envía al núcleo.  Normalmente consiste en un inductor desde el que se teclea una orden y después se pulsa enter. En cierta forma, se está tecleando una orden en una línea. A menudo, esta línea se conoce como la línea de órdenes.

3 PARA QUE SIRVEN LOS SCRIPT DE SHELL  Un shell es la parte fundamental de un sistema operativo encargada de ejecutar las órdenes básicas para el manejo del sistema  Suelen incorporar características tales como control de procesos, redirección de entrada/salida y un lenguaje de órdenes para escribir programas por lotes o (scripts).scripts

4 Principales interpretes de comandos: command.comcommand.com: perteneciente a los sistemas MS-DOS y derivados como Windows 95 y 98.MS-DOSWindows  ksh: El korn shell de UNIX. kshUNIX  C Shell (csh): similar en sintaxis al lenguaje C. C Shell  Bourne Shell (sh) Bourne Shell  GNU Bourne Again Shell (bash): variante del Bourne Shell clásico para Linux con características avanzadas como control de procesos, historial de órdenes y edición similar a Emacs entre otras. GNU Bourne Again ShellLinuxEmacs  Tcsh: versión de C Shell para Linux con funcionalidades similares a bash. Tcsh  Zsh: pequeño intérprete similar al Bourne Shell. Zsh

5 Scripts de Shell - Básicos  Con el shell estamos creando pequeños programas. Cuando a estos pequeños programas se guardan en un archivo que pueda ejecutarse luego, lo son llamados "script". Estos scripts sirven, entre otras cosas, para tareas de automatización.  Los scripts de shell son básicamente programas escritos en el lenguaje del shell, se parecen a los archivos.BAT del DOS

6 ESCRIBIR PROGRAMAS PARA EL SHELL  Al utilizar el shell para ejecutar comandos, puedes usar su lenguaje de programación para escribir tus propios comandos o programas. Puedes poner comandos en el fichero (conocido como shell script) y después ejecutar el fichero como un comando o programa.  EL Bourne shell (sh) está disponible en todos los sistemas UNIX. Los scripts del Bourne shell también pueden trabajar bajo el Bourne Again Shell (bash). Los shells C y TC usan un lenguaje de programación similar al lenguaje C.

7 Sentencias para el Control del flujo del programa  Las estructuras de control de flujo del programa que tenemos disponibles cuando programamos en shell son: if Case While for until

8 FORMATO IF if [ condicion ] then... else if [ condicion2 ] then... fi

9 Estructura case  La estructura case del Bourne Shell es una estructura parecida a la de Pascal: (no así en C, en el que las etiquetas del case actúan como etiquetas de un JMP en ensamblador La estructura general es: case valor in expreg1)... ultimaorden1;; expreg2)... ultimaorden2;;... ultimaordenn;; esac

10 Estructura while La estructura básica para construir bucles. La sintaxis es: while orden do... done

11 Creación y ejecución de shell scripts simples  Para crear un shell script simple, se debe poner líneas de comando en un fichero, ponles los permisos de acceso apropiados y después ejecuta el fichero. EJEMPLO :Este es el contenido de un shell script llamado display :  cat display  # Este script displaya la fecha, hora, nombre de # usuario y directorio actual  echo "Fecha y hora:" date  echo  echo "Tu usuario es: `whoami` \\n"  echo "Tu directorio actual es: \\c"  pwd

12 UTILIZAR VARIABLES EN EL SHELL  En la Programación en shell existen las variables, que son nombres simbólicos para zonas de memoria que almacenan datos que nos interesan.  Al contrario que los lenguajes de alto nivel normales, las variables de los guiones no tienen tipo, o quizás sería más apropiado decir que tienen un tipo único y permanente: a todos los efectos se tratan como ristras de caracteres.  Para poder hacer sumas y restas hay una orden especial, la orden expr. Esta orden tiene que recibir cada número u operando como un parámetro independiente, así que devolverá un error si se intenta hacer algo como expr 5+7.

13 EJEMPLO DE ASIGNACION DE VARIABLES:  Para asignar un valor a una variable, basta con poner el nombre de la variable seguido de un signo de igual y el valor:  $ variable=valor El nombre de la variable precedido por el carácter $ es el valor de la variable. La mejor manera de examinar el valor es utilizando el comando echo: $ color=rojo$ echo $color Rojo $ telefono=5552314 $ echo $telefono 5552314 $

14 ¿Cómo funciona el analizador del intérprete?  Como la mayoría de los analizadores de los lenguajes interpretados, primero realiza algunas sustituciones, al leer la orden, y luego ejecuta la orden que le queda después de las sustituciones.  Las sustituciones hechas por el intérprete de órdenes de UNIX son sustituciones de comillas y sustituciones de variables (lo que vea con un signo dólar que no esté “escapado'').  Según el intérprete en particular, hará algunas sustituciones más, como sustituciones del caracter ~ (que indica el directorio raíz del usuario), los caracteres {}, los caracteres [], etc.

15 Dos órdenes útiles: Echo Y Read  Dos órdenes bastante útiles para probar algunas ejemplos con variables son echo y read. La primera se utiliza para mostrar texto por pantalla, y la segunda, como su nombre indica, es para leer del teclado y poner el resultado en una o varias variables.  El funcionamiento de read es el siguiente: lee del teclado una ristra, y va asignando las palabras en orden a cada una de las variables que se le pasen como parámetros, asignando el resto de la ristra a la última variable. Es decir, que si se le pasan tres variables como parámetro, se asigna la primera palabra a la primera variable, la segunda a la segunda variable, y el resto de la ristra leída a la tercera variable.

16 EJEMPLO  Por ejemplo: $ read foo bar Escribo demasiadas palabras $ echo $foo Escribo $ echo $bar demasiadas palabras

17 ESCRIBIR FUNCIONES EN EL SHELL Funciones  Uno de las mayores utilidades que posee una shell es el permitirnos crear funciones para realizar tareas repetitivas fácilmente.  Es parecido al que posee cualquier lenguaje de programación, en el cual se agrupan conjunto de comandos y se los llama por un nombre.

18 El formato de las funciones es el siguiente:  nombre_funcion(){  primero_a_realizar  segundo_a_realizar}  Estas funciones pueden ser definidas en cualquier lugar, incluso en la misma línea de comandos.  Como en la programación, donde los límites entre las funciones y los procedimientos esta dada de acuerdo a la función que se esta cumpliendo, en el caso de las funciones del shell varía de acuerdo donde se encuentren guardadas

19 DISPONIBILIDAD DE FUNCIONES  Una forma de hacer que queden disponibles en forma permanente es incorporarla en el archivo de inicio del shell, el.bash_profile, en el cual se pondrá la función.  De esta forma podremos seguir utilizándola dado que será cargada en memoria cada vez que ejecute el shell.

20 EJEMPLO [shrek@pantano:~]$ que_tal() > { > echo "Hola $1, como estás?“ > }[shrek@pantano:~]$ que_tal shrek Hola shrek, como estás?

21 DESCRIPCIÓN DEL EJEMPLO  Primero se nombra a la función, seguida de un par de paréntesis "( )" indica al shell que deberá ser tomado como una función.  Inmediatamente después de los paréntesis se abrirá una llave "{", indica que comienzan los comandos de la función.  Al terminar se cierra la llave "}".  El otro punto es el reemplazo que efectúa el shell de las variables. La variable se asigna directamente y es un número que vendrá después del signo "$".  Indica el número del argumento de que tomara su valor y que es dado al invocar a la función.  En este caso su valor pasa a ser "shrek".

22


Descargar ppt "MATERIA: SISTEMAS OPERATIVOS II INTEGRANTES: CARLOS NAJERA LUIS ACOSTA ANGEL CASTILLO."

Presentaciones similares


Anuncios Google