SCRIPTSINTEGRANTES:VANEZA CHENAZJENIFER JÁCOMEDIANA SANGOLUISADAVID TAPIA
INTRODUCCIÓN A SCRIPTS              DEL SHELL El Shell UNIX tiene su propio lenguaje de  programación incorporado, que se...
 Losscripts de shell básicos son pequeños archivos que consisten en varios comandos que muestran información básica del s...
CONCEPTOS BASICOS SOBRE               SCRIPTS LaShell permite al usuario interactuar con el Kernel a través de la interpr...
variable = “valor”Esta orden establece un valor en una variable.Si deseamos mostrar el contenido de una variableutilizarem...
DESCRIPCIÓN GENERAL DE LOS SCRIPTS DEL               SHELL Sirven       para evitar tener que recordar la sintaxis de los...
 Además  de los comandos, los scripts de shell   incluyen     comentarios.     Los comentarios son texto que se utiliza p...
CREACION DE UN SCRIPT DE SHELL SIMPLEPodemos introducir los siguientes caracteres en ubuntu para poder realizar unscript s...
Después de esa segunda línea, a partir de ahí se escriben las instrucciones.Por ejemplo, le diremos que nos muestre en una...
EJEMPLO DE UN SCRIPT SIMPLE   1)Primero abriremos un editor de texto, el cual se    lo localiza tecleando «gedit» en el t...
2) Para correr el script, tenemos que abrir unterminal y primero cambiaremos los permisos deejecución, para lo cual coloca...
4) Una vez en el escritorio, llamamos a nuestro  script, de la siguiente manera:5) Una vez que tenemos nuestro script func...
EJECUCIÓN DE UN SCRIPT   Existen dos formas de ejecutar un script de shell. El    alumno            puede            util...
Cómo Hacer Ejecutables los Archivos Script. La otra forma de ejecutar un script es cambiar sus permisos, de modo tal que ...
CÓMO HACER DEBUGGING DE UN SCRIPT Un problema común al escribir scripts de shell es que el shell no interpreta el comando...
 La opción -x muestra cada línea tras haber sido  identificada por el shell y coloca un signo más (+)  tras haber ejecuta...
DESCRIPCION DE SCRIPTS              AVANZADOS   Para cada shell UNIX existe un lenguaje de    programación completo el cu...
VARIABLES EN SCRIPTS   Es un tipo de parámetros que corresponden    al concepto clásico de variable que se    encuentran ...
   Un aspecto importante relacionado con las variables    es la posible exportación a los procesos creados por    el prop...
PARAMETROS POSICIONALES   Corresponden a los argumentos con los que    se invoca a un script o a una función. Su    ident...
PARAMETROS ESPECIALES   Son parámetros mantenidos por el propio    shell por lo que el usuario no puede modificar    su v...
ENTRADA INTERACTIVA   Cuando se invoca como un shell interactivo con el nombre sh,    bash busca la variable ENV, si está...
EL COMANDO TEST   El comando test evalúa una expresión, y si el resultado es    verdadero, devuelve un estado de salida d...
Operadores del Comando Test   Casi todos los scripts de shell avanzados funcionan con archivos. El    comando test permit...
   El signo ! (bang) denega una prueba, de modo que [ ! -w archivo]    denega [ -w archivo]. Por ejemplo, el siguiente sc...
EL COMANDO IF   La forma más simple de un comando condicional es el    comando if.   El comando if es un comando de shel...
El Formato     del   Comando   if-then-else   (si-entonces-de   locontrario):if el comando tiene éxitothenejecutar el/los ...
Podemos comprobar los valores de terminacion de un comando,y comparar cadenas alfanumericas/numericas y atributos deficher...
4.- Abrimos el terminal5.- Cambiamos los permisos con el comando chmod6.- Ahora pasamos a la respectiva comprobacion
EL COMANDO CASE   El comando incorporado al shell case se utiliza    cuando existen muchas condiciones que probar.Formato...
CONTROL DEL FLUJO   Las expresiones de control de flujo influyen en la forma en que el código es    ejecutado, y dividen ...
   Sentencia for Ejecuta una serie de comandos un numero determinado de  veces La sintaxis de la sentencia for es muy s...
   Sentencia Until   Funciona exactamente igual al while, sin embargo al    revés, es decir, es losiguiente: ambos verif...
Scripts
Scripts
Upcoming SlideShare
Loading in...5
×

Scripts

463

Published on

presentacio acerca de que son los scripts en linux

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
463
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Scripts

  1. 1. SCRIPTSINTEGRANTES:VANEZA CHENAZJENIFER JÁCOMEDIANA SANGOLUISADAVID TAPIA
  2. 2. INTRODUCCIÓN A SCRIPTS DEL SHELL El Shell UNIX tiene su propio lenguaje de programación incorporado, que se utiliza para crear programas o scripts del Shell. Escribir un script de shell es una manera de crear un comando personalizado que puede realizar una única tarea o una serie de tareas y puede utilizarse repetidamente.
  3. 3.  Losscripts de shell básicos son pequeños archivos que consisten en varios comandos que muestran información básica del sistema o manipulan archivos. Los scripts más complejos consisten en variables y comandos de programación incorporados que incluyen el comando read para una entrada interactiva, los condicionales if, test, y case, y comandos de bucle for, while, y until.
  4. 4. CONCEPTOS BASICOS SOBRE SCRIPTS LaShell permite al usuario interactuar con el Kernel a través de la interpretación de los comandos que el usuario ingresa en la línea de comandos ( ó a través de los "scripts", archivos que ejecutan un conjunto de comandos). Variables Para utilizar una variable basta con hacer una asignación como vemos a continuación.
  5. 5. variable = “valor”Esta orden establece un valor en una variable.Si deseamos mostrar el contenido de una variableutilizaremos la orden:echo $variableSi deseamos introducir un dato a una variable desde elteclado, utilizamos la orden read seguido de la variable.read variable.Si además deseamos introducir un texto antes de leer lavariable usamos read de la siguienteforma:read variable? “texto”
  6. 6. DESCRIPCIÓN GENERAL DE LOS SCRIPTS DEL SHELL Sirven para evitar tener que recordar la sintaxis de los comandos, o para poder ejecutar varios comandos simultáneamente, para lo cual se puede crear un alias o escribir un script de shell. Un alias se utiliza normalmente para ejecutar uno o más comandos separados por punto y coma (;). Un script de shell es un archivo de texto que contiene una secuencia de comandos para que el shell ejecute de a una línea a la vez.
  7. 7.  Además de los comandos, los scripts de shell incluyen comentarios. Los comentarios son texto que se utiliza para documentar qué hace el script y describir qué se supone que hagan las líneas dentro del script cuando éste se ejecuta. Los comentarios van precedidos por el simbolo # (numeral).
  8. 8. CREACION DE UN SCRIPT DE SHELL SIMPLEPodemos introducir los siguientes caracteres en ubuntu para poder realizar unscript simple:1. Abrir un terminal, en ella escribir lo siguiente y presionen [Enter]:cd $HOME && touch script.sh && chmod +x script.shEsto bastará para que se les cree un archivo script.sh en su carpeta personal.2. En el terminal poner lo siguiente:cd $HOME && echo #!/bin/bash > script.sh && echo# -*- ENCODING: UTF-8 -*- >> script.sh3. Listo, ya tenemos un script. Si lo abrimos nos quedará algo así:#!/bin/bash# -*- ENCODING: UTF-8 -*-
  9. 9. Después de esa segunda línea, a partir de ahí se escriben las instrucciones.Por ejemplo, le diremos que nos muestre en una terminal “<° ya se hacerun script”Nos quedaría el script de la siguiente forma:#!/bin/bash# -*- ENCODING: UTF-8 -*-echo "<° ya se hacer un scrpit"exitPara poder ejecutarlo debemos ir hacia la carpeta donde están los scripts,entonces abrimos un terminal y en este teclemos lo siguinet paravisualizarlo:cd $HOMEAhora lo ejecutamos poniendo un punto y un slash (seguidos), y seguido aesto el nombre del script, o sea:./script.shY asi obtenemos un script de shell simple en ubuntu.
  10. 10. EJEMPLO DE UN SCRIPT SIMPLE 1)Primero abriremos un editor de texto, el cual se lo localiza tecleando «gedit» en el terminal o en el ícono de Inicio en Ubuntu. Una vez en el editor colocaremos los siguientes comandos:
  11. 11. 2) Para correr el script, tenemos que abrir unterminal y primero cambiaremos los permisos deejecución, para lo cual colocamos lo siguiente:El script consiste en un colocar un mensaje enpantalla, el cual se repita infinitamente.3) A continuación, nos colocaremos en el Escritorio,que para nuestro ejemplo es en donde seencuentra el script.
  12. 12. 4) Una vez en el escritorio, llamamos a nuestro script, de la siguiente manera:5) Una vez que tenemos nuestro script funcionado, este es el resultado.
  13. 13. EJECUCIÓN DE UN SCRIPT Existen dos formas de ejecutar un script de shell. El alumno puede utilizar los comandos ksh o bash seguidos por el nombre del archivo script. El alumno también puede hacer el archivo script de shell ejecutable, luego tipear el nombre del script para ejecutarlo.Ejecución de Scripts por medio de ksh o bash. Si el script no es un archivo ejecutable, puede ejecutarse iniciando un nuevo programa de shell seguido del nombre del archivo script como argumento.
  14. 14. Cómo Hacer Ejecutables los Archivos Script. La otra forma de ejecutar un script es cambiar sus permisos, de modo tal que al menos tenga permisos de lectura y ejecución (chmod 555 nombre_de_archivo). Si el alumno ha de modificar o hacer debug del script, deberá también tener permiso de escritura (chmod 755 nombre_de_archivo).
  15. 15. CÓMO HACER DEBUGGING DE UN SCRIPT Un problema común al escribir scripts de shell es que el shell no interpreta el comando de la manera en la cual lo espera el usuario. Se puede utilizar los comandos ksh o bash con las opciones -x (echo - eco) y -v (verbose - "elocuente") para ayudar a identificar en qué parte del script se encuentran los problemas.
  16. 16.  La opción -x muestra cada línea tras haber sido identificada por el shell y coloca un signo más (+) tras haber ejecutado cada línea. Las líneas que se encuentran debajo de ellas muestran el resultado de los comandos. La opción -v es similar a la opción -x excepto en que muestra los comandos antes de efectuar la sustitución de las variables y los comandos. Juntas, las opciones -x y -v nos permite observar cada línea del archivo script antes y después de que sean ejecutadas. Esto es de mucha ayuda al señalar en qué parte del script se encuentra el problema.
  17. 17. DESCRIPCION DE SCRIPTS AVANZADOS Para cada shell UNIX existe un lenguaje de programación completo el cual consiste en comandos y construcciones que se pueden utilizar para la creación de scripts más complejos Este contiene comandos muy similares a los de programación que viene incluidos en el shell tales como son el if, else, read, case, while, y exit, los scripts complejos van a utilizar variables predefinidas y otras ya definidas por el usuario.
  18. 18. VARIABLES EN SCRIPTS Es un tipo de parámetros que corresponden al concepto clásico de variable que se encuentran presente en los lenguajes de programación convencionales, debido a la relativa simplicidad de ese entorno, su funcionalidad es reducida. Las variables no se declaran, creándose cuando se les asigna un valor usando la construcción variable=valor, por ejemplo; BACKUPDIR =/home/user2/myfiles configura la variable denominada BACKUPDIR (backup directory - copia de seguridad del directorio).
  19. 19.  Un aspecto importante relacionado con las variables es la posible exportación a los procesos creados por el propio Shell durante la ejecución de los distintos mandatos. Por defecto la variables no se exportan, por lo tanto los procesos que fueron creados no obtienen una copia. Si se requiere que una variable sea exportada a los proceso hijos del Shell, se lo debe especificar mediante el comando export. El Shell durante su fase de arranque crea una variable por cada una de las definiciones presentes en el entorno del proceso que ejecuta el shell. Algunos ejemplos de variables del entorno predefinidas son: El shell de login (SHELL) El nombre de login (LOGNAME) La ruta de búsqueda que se utiliza para buscar comandos (PATH) Las configuraciones de terminal (TERM)
  20. 20. PARAMETROS POSICIONALES Corresponden a los argumentos con los que se invoca a un script o a una función. Su identificador en un número que corresponde con su posición. Por ejemplo, si tenemos $1 nos indica el número del primer argumento, $2 el del segundo y así sucesivamente, $i se refiere al i-ésimo argumento. El usuario no puede modificar de forma individual un parámetro posicional, pero puede reasignarlos mediante un comando llamdo set.
  21. 21. PARAMETROS ESPECIALES Son parámetros mantenidos por el propio shell por lo que el usuario no puede modificar su valor. Estos son algunos de los mas usados:0: Nombre del sript#: Numero de parámetros posicionales.: lista de parámetros posicionales.: valor devuelto por el último mandatoejecutado.$: Identificador del proceso del propio Shell.!: Identificador de proceso asociado al últimomandato en background arrancado.
  22. 22. ENTRADA INTERACTIVA Cuando se invoca como un shell interactivo con el nombre sh, bash busca la variable ENV, si está definida expande su valor, y utiliza el valor expandido como el nombre de un archivo para leer y ejecutar. Un script es un archivo tipo texto, cuyas líneas tienen comandos que son ejecutados (interpretados) por bash. Para lograr que el intérprete de comandos intérprete las líneas de un archivo puede: Ejecutar /bin/bash seguido del nombre del archivo (o redireccionar la entrada estándar para que provenga del archivo). Emplear el comando source seguido del nombre del archivo. Emplear el caracter . seguido de un espacio y el nombre del archivo. Agregar en la primera línea del archivo la cadena #!/bin/bash, dar permiso de ejecución al archivo y teclear el nombre del archivo desde el intérprete de comandos ---como si fuera un nuevo comando.
  23. 23. EL COMANDO TEST El comando test evalúa una expresión, y si el resultado es verdadero, devuelve un estado de salida de cero. De otro modo el resultado es falso, y devuelve un estado de salida que no es cero. La expresión compara normalmente dos números o dos cadenas para comprobar si los valores son idénticos. La expresión se utiliza también para probar el estado de un archivo. Formato del Comando:if test expresión o if [expresión]thenejecutar comando(s)fi
  24. 24. Operadores del Comando Test Casi todos los scripts de shell avanzados funcionan con archivos. El comando test permite a los operadores probar el tipo de archivo, los permisos del archivo y si un archivo contiene o no determinados datos. La figura presenta una lista de los operadores de archivos utilizados más comúnmente con test.
  25. 25.  El signo ! (bang) denega una prueba, de modo que [ ! -w archivo] denega [ -w archivo]. Por ejemplo, el siguiente script de shell filetest.sh acepta un nombre de archivo como argumento y luego lleva a cabo una cierta cantidad de pruebas para determinar los permisos de los archivos.$ cat filetest.sh#!/bin/kshif [ ! -f $1 ] #test:Si el primer archivo especificado no existe then echomensajethenecho "Lo siento, el archivo no existe"elif [ ! -r $1 ] # test:Si el primer archivo especificado no existe a leidoperms then echo messagethenecho "la carpeta no es leíble"elif [ ! -w $1 ]thenecho " la carpeta no es editable "elseecho " la carpeta es editable y leíble "fi
  26. 26. EL COMANDO IF La forma más simple de un comando condicional es el comando if. El comando if es un comando de shell incorporado que le permite al alumno probar una condición y luego cambiar el flujo de la ejecución de un script de shell basándose en el resultado de la prueba. Existen tres formatos del comando if. El comando fi (if invertido) se coloca siempre al final de un condicional if. El Formato del Comando if-then (si-entonces):if el comando tiene éxitothenejecutar el/los comando(s)fi
  27. 27. El Formato del Comando if-then-else (si-entonces-de locontrario):if el comando tiene éxitothenejecutar el/los comando(s)elseejecutar el/los comando(s)fiEl Formato del Comando if-then-elif (else if)(si-entonces-de locontrario si):if el comando tiene éxitothenejecutar el/los comando(s)elif el comando tiene éxitothenejecutar el/los comando(s)elseejecutar el/los comando(s)fi
  28. 28. Podemos comprobar los valores de terminacion de un comando,y comparar cadenas alfanumericas/numericas y atributos deficheros. Algunos ejemplos para aclararnos las ideas.1.- Llamamos al interprete de comando de bash2.- Documentacion3.- Guardamos
  29. 29. 4.- Abrimos el terminal5.- Cambiamos los permisos con el comando chmod6.- Ahora pasamos a la respectiva comprobacion
  30. 30. EL COMANDO CASE El comando incorporado al shell case se utiliza cuando existen muchas condiciones que probar.Formato del Comando:La sintaxis de esta construccion es la siguiente:case expresion in caso_1 ) comandos;; caso_2 ) comandos;; ......esac
  31. 31. CONTROL DEL FLUJO Las expresiones de control de flujo influyen en la forma en que el código es ejecutado, y dividen el código en bloques. Los bloques empiezan con una palabra reservada, por ejemplo while y terminan con la palabra reservada endwhile, formada por el prefijo end y la misma palabra que empezó el bucle. También es posible acabar un bloque con la palabra end. El código que se entre dichas palabras se denomina el cuerpo de la expresión de control. Las siguientes construcciones son posiblesSentencia whileLa sintaxis es la siguiente while condiciondo comandosdone Las sentencias del cuerpo se ejecutaran mientras condición se siga evaluando a cierto. Si en el cuerpo no se modifica alguna de las variables que se evalúan en la condición entraremos en un bucle infinito.
  32. 32.  Sentencia for Ejecuta una serie de comandos un numero determinado de veces La sintaxis de la sentencia for es muy semejante a la del while.for nombre [in lista]do comandos que pueden utilizar $nombreDone En el bucle for se evalúa la expresión una vez al principio y se asigna a la variable var. Sin embargo la expresión de asignación del for funciona un poco distinto que en el resto de los casos. En lugar de asignar la expresión completa, se asigna sólo una columna y el bucle va iterando en todas las columnas. Normalmente el bucle for se usa cuando se quieren hacer las cosas cierto número de veces (tantas como columnas tenga el resultado de evaluar la expresión).
  33. 33.  Sentencia Until Funciona exactamente igual al while, sin embargo al revés, es decir, es losiguiente: ambos verifican comandos; ambos poseen la misma sintaxis y ambosactuan en ciclo, sin embargo, mientras el while ejecuta el bloque deinstrucciones del ciclo mientras un comando este bien ejecutado, el until ejecuta el bloque del ciclo hasta que el comando este bien ejecutado. En otraspalabras se podria decir que en el while el comando tiene que ser verdadero para que el ciclo se realice, y en el until, el comando tiene que ser falso. La sintáxis del comando es practicamente la misma del while.Observa:until condicion; do comandosdone
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×