SlideShare una empresa de Scribd logo
1 de 35
SCRIPTS
INTEGRANTES:
VANEZA CHENAZ
JENIFER JÁCOME
DIANA SANGOLUISA
DAVID TAPIA
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.
 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.
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.
variable = “valor”

Esta orden establece un valor en una variable.
Si deseamos mostrar el contenido de una variable
utilizaremos la orden:

echo $variable
Si deseamos introducir un dato a una variable desde el
teclado, utilizamos la orden read seguido de la variable.

read variable.
Si además deseamos introducir un texto antes de leer la
variable usamos read de la siguiente
forma:

read variable? “texto”
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.
 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).
CREACION DE UN SCRIPT DE SHELL SIMPLE
Podemos introducir los siguientes caracteres en ubuntu para poder realizar un
script simple:

1. Abrir un terminal, en ella escribir lo siguiente y presionen [Enter]:

cd $HOME && touch script.sh && chmod +x script.sh
Esto 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.sh
3. Listo, ya tenemos un script. Si lo abrimos nos quedará algo así:


#!/bin/bash
# -*- ENCODING: UTF-8 -*-
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 hacer
un script”
Nos quedaría el script de la siguiente forma:


#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° ya se hacer un scrpit"
exit

Para poder ejecutarlo debemos ir hacia la carpeta donde están los scripts,
entonces abrimos un terminal y en este teclemos lo siguinet para
visualizarlo:


cd $HOME

Ahora lo ejecutamos poniendo un punto y un slash (seguidos), y seguido a
esto el nombre del script, o sea:
./script.sh

Y asi obtenemos un script de shell simple en ubuntu.
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:
2) Para correr el script, tenemos que abrir un
terminal y primero cambiaremos los permisos de
ejecución, para lo cual colocamos lo siguiente:




El script consiste en un colocar un mensaje en
pantalla, el cual se repita infinitamente.
3) A continuación, nos colocaremos en el Escritorio,
que para nuestro ejemplo es en donde se
encuentra el script.
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.
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.
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).
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.
 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.
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.
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).
   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)
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.
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 mandato
ejecutado.
$: Identificador del proceso del propio Shell.
!: Identificador de proceso asociado al último
mandato en background arrancado.
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.
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]
then
ejecutar comando(s)
fi
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.
   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/ksh
if [ ! -f $1 ] #test:Si el primer archivo especificado no existe then echo
mensaje
then
echo "Lo siento, el archivo no existe"
elif [ ! -r $1 ] # test:Si el primer archivo especificado no existe a leido
perms then echo message
then
echo "la carpeta no es leíble"
elif [ ! -w $1 ]
then
echo " la carpeta no es editable "
else
echo " la carpeta es editable y leíble "
fi
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 éxito
then
ejecutar el/los comando(s)
fi
El Formato     del   Comando   if-then-else   (si-entonces-de   lo
contrario):

if el comando tiene éxito
then
ejecutar el/los comando(s)
else
ejecutar el/los comando(s)
fi

El Formato del Comando if-then-elif (else if)(si-entonces-de lo
contrario si):

if el comando tiene éxito
then
ejecutar el/los comando(s)
elif el comando tiene éxito
then
ejecutar el/los comando(s)
else
ejecutar el/los comando(s)
fi
Podemos comprobar los valores de terminacion de un comando,
y comparar cadenas alfanumericas/numericas y atributos de
ficheros. Algunos ejemplos para aclararnos las ideas.




1.- Llamamos al interprete de comando de bash
2.- Documentacion
3.- Guardamos
4.- Abrimos el terminal
5.- Cambiamos los permisos con el comando chmod




6.- Ahora pasamos a la respectiva comprobacion
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
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 posibles

Sentencia while

La sintaxis es la siguiente
 while condicion
do
 comandos
done
 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.
   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 $nombre
Done

   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).
   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
 comandos
done

Más contenido relacionado

La actualidad más candente (20)

Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
PHP - Introduction to PHP Fundamentals
PHP -  Introduction to PHP FundamentalsPHP -  Introduction to PHP Fundamentals
PHP - Introduction to PHP Fundamentals
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
Linux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell ScriptingLinux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell Scripting
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scripting
 
PHP variables
PHP  variablesPHP  variables
PHP variables
 
Control Structures In Php 2
Control Structures In Php 2Control Structures In Php 2
Control Structures In Php 2
 
Introducción a los Frameworks PHP
Introducción a los Frameworks PHP  Introducción a los Frameworks PHP
Introducción a los Frameworks PHP
 
PHPUnit
PHPUnitPHPUnit
PHPUnit
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
Data types in php
Data types in phpData types in php
Data types in php
 
Unix shell scripting basics
Unix shell scripting basicsUnix shell scripting basics
Unix shell scripting basics
 
Linux basic commands with examples
Linux basic commands with examplesLinux basic commands with examples
Linux basic commands with examples
 
What Is Php
What Is PhpWhat Is Php
What Is Php
 
makefiles tutorial
makefiles tutorialmakefiles tutorial
makefiles tutorial
 
Shell programming
Shell programmingShell programming
Shell programming
 
Bash shell
Bash shellBash shell
Bash shell
 
Php variables (english)
Php variables (english)Php variables (english)
Php variables (english)
 
Basics of shell programming
Basics of shell programmingBasics of shell programming
Basics of shell programming
 

Similar a Scripts

Similar a Scripts (20)

Script presentacion
Script presentacionScript presentacion
Script presentacion
 
Linux Programacion en Shell
Linux Programacion en ShellLinux Programacion en Shell
Linux Programacion en Shell
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linux
 
Quasi - scripts-linux
Quasi - scripts-linuxQuasi - scripts-linux
Quasi - scripts-linux
 
Giseproi hacking ético - bash scripting
Giseproi   hacking ético - bash scriptingGiseproi   hacking ético - bash scripting
Giseproi hacking ético - bash scripting
 
Script Linux
Script LinuxScript Linux
Script Linux
 
El shell-bash
El shell-bashEl shell-bash
El shell-bash
 
Script Y Comandos De Linux
Script Y Comandos De LinuxScript Y Comandos De Linux
Script Y Comandos De Linux
 
Administración básica de ubuntu server parte 3
Administración básica de ubuntu server   parte 3Administración básica de ubuntu server   parte 3
Administración básica de ubuntu server parte 3
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bash
 
Script
ScriptScript
Script
 
Comandos
ComandosComandos
Comandos
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bash
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bash
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bash
 
The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0
 
Shell script
Shell scriptShell script
Shell script
 
Variables y comillas en Linux
Variables y comillas en LinuxVariables y comillas en Linux
Variables y comillas en Linux
 
[ES] Línea de Comandos GNU/Linux
[ES] Línea de Comandos GNU/Linux[ES] Línea de Comandos GNU/Linux
[ES] Línea de Comandos GNU/Linux
 
17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson17 comandos basicoslinuxasoitson
17 comandos basicoslinuxasoitson
 

Último

Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 

Scripts

  • 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.  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. 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. variable = “valor” Esta orden establece un valor en una variable. Si deseamos mostrar el contenido de una variable utilizaremos la orden: echo $variable Si deseamos introducir un dato a una variable desde el teclado, utilizamos la orden read seguido de la variable. read variable. Si además deseamos introducir un texto antes de leer la variable usamos read de la siguiente forma: read variable? “texto”
  • 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.  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. CREACION DE UN SCRIPT DE SHELL SIMPLE Podemos introducir los siguientes caracteres en ubuntu para poder realizar un script simple: 1. Abrir un terminal, en ella escribir lo siguiente y presionen [Enter]: cd $HOME && touch script.sh && chmod +x script.sh Esto 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.sh 3. Listo, ya tenemos un script. Si lo abrimos nos quedará algo así: #!/bin/bash # -*- ENCODING: UTF-8 -*-
  • 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 hacer un script” Nos quedaría el script de la siguiente forma: #!/bin/bash # -*- ENCODING: UTF-8 -*- echo "<° ya se hacer un scrpit" exit Para poder ejecutarlo debemos ir hacia la carpeta donde están los scripts, entonces abrimos un terminal y en este teclemos lo siguinet para visualizarlo: cd $HOME Ahora lo ejecutamos poniendo un punto y un slash (seguidos), y seguido a esto el nombre del script, o sea: ./script.sh Y asi obtenemos un script de shell simple en ubuntu.
  • 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. 2) Para correr el script, tenemos que abrir un terminal y primero cambiaremos los permisos de ejecución, para lo cual colocamos lo siguiente: El script consiste en un colocar un mensaje en pantalla, el cual se repita infinitamente. 3) A continuación, nos colocaremos en el Escritorio, que para nuestro ejemplo es en donde se encuentra el script.
  • 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. 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. 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. 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.  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. 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.
  • 19. 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).
  • 20. 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)
  • 21. 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.
  • 22. 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 mandato ejecutado. $: Identificador del proceso del propio Shell. !: Identificador de proceso asociado al último mandato en background arrancado.
  • 23. 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.
  • 24. 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] then ejecutar comando(s) fi
  • 25. 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.
  • 26. 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/ksh if [ ! -f $1 ] #test:Si el primer archivo especificado no existe then echo mensaje then echo "Lo siento, el archivo no existe" elif [ ! -r $1 ] # test:Si el primer archivo especificado no existe a leido perms then echo message then echo "la carpeta no es leíble" elif [ ! -w $1 ] then echo " la carpeta no es editable " else echo " la carpeta es editable y leíble " fi
  • 27. 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 éxito then ejecutar el/los comando(s) fi
  • 28. El Formato del Comando if-then-else (si-entonces-de lo contrario): if el comando tiene éxito then ejecutar el/los comando(s) else ejecutar el/los comando(s) fi El Formato del Comando if-then-elif (else if)(si-entonces-de lo contrario si): if el comando tiene éxito then ejecutar el/los comando(s) elif el comando tiene éxito then ejecutar el/los comando(s) else ejecutar el/los comando(s) fi
  • 29. Podemos comprobar los valores de terminacion de un comando, y comparar cadenas alfanumericas/numericas y atributos de ficheros. Algunos ejemplos para aclararnos las ideas. 1.- Llamamos al interprete de comando de bash 2.- Documentacion 3.- Guardamos
  • 30. 4.- Abrimos el terminal 5.- Cambiamos los permisos con el comando chmod 6.- Ahora pasamos a la respectiva comprobacion
  • 31. 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
  • 32.
  • 33. 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 posibles Sentencia while La sintaxis es la siguiente while condicion do comandos done  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.
  • 34. 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 $nombre Done  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).
  • 35. 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 comandos done