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)

Linux commands
Linux commandsLinux commands
Linux commands
 
Bash shell
Bash shellBash shell
Bash shell
 
Introduction 2 linux
Introduction 2 linuxIntroduction 2 linux
Introduction 2 linux
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
Linux Internals - Part III
Linux Internals - Part IIILinux Internals - Part III
Linux Internals - Part III
 
Introduction to Shell script
Introduction to Shell scriptIntroduction to Shell script
Introduction to Shell script
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Linux Internals - Part II
Linux Internals - Part IILinux Internals - Part II
Linux Internals - Part II
 
Basics of shell programming
Basics of shell programmingBasics of shell programming
Basics of shell programming
 
SHELL PROGRAMMING
SHELL PROGRAMMINGSHELL PROGRAMMING
SHELL PROGRAMMING
 
Hands-on ethernet driver
Hands-on ethernet driverHands-on ethernet driver
Hands-on ethernet driver
 
Intro to Linux Shell Scripting
Intro to Linux Shell ScriptingIntro to Linux Shell Scripting
Intro to Linux Shell Scripting
 
What Can Compilers Do for Us?
What Can Compilers Do for Us?What Can Compilers Do for Us?
What Can Compilers Do for Us?
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
Course 102: Lecture 19: Using Signals
Course 102: Lecture 19: Using Signals Course 102: Lecture 19: Using Signals
Course 102: Lecture 19: Using Signals
 
Shell programming
Shell programmingShell programming
Shell programming
 
04 j flex
04 j flex04 j flex
04 j flex
 
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
 

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
 
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
 
[ES] Administración básica de GNU / Linux
[ES] Administración básica de GNU / Linux[ES] Administración básica de GNU / Linux
[ES] Administración básica de GNU / Linux
 

Último

libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 

Último (20)

libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 

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