SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
#!/bin/bash

Rafael Bucio
 Universidad Politecnica de Chiapas
Que es Bash ??

Bourne-Again SHell (otro shell bourne)
Haciendo un juego de palabras
 (born-again significa renacimiento)
Sobre el Bourne shell (sh) → que fue uno de los
 primeros intérpretes importantes de Unix.
Hacia 1978 el shell Bourne era el shell distribuido con
 el Unix Version 7.

Es un Interprete de comandos. no necesita compilar :D
Como encontrarlo ??


Aplicaciones → accesorios → Terminal


Tecleamos:
                           locate bash
Para ser mas exactos:
                            which bash
¿Qué necesito?:


        ●   Editor de texto, gedit, vim etc..
            ●   Comandos Basicos Unix.
                 ●   Un poco de XML
Comandos Basicos
  $ cd    →     Cambiar el directorio de trabajo (change directory)

  $ ls    →     Listar el contenido de directorios (list)
  $ mkdir →     Crear un directorio (make directory)
  $ rmdir →     Borrar un directorio (remove directory)
  $ cp    →     Copiar un archivo o directorio en el directorio especificado (copy)
  $ mv    →     Mover un archivo o directorio a un archivo o directorio. Se utiliza también para renombrar;
                el origen y destino es un archivo (move)
  $ rm    →     Borrar archivos o directorios (remove):
  $ cat   →     Mostrar por pantalla el contenido de los archivos por la salida estándar.
  $ find →      Buscar archivos recorriendo árboles de directorios especificados por las rutas.
  $ pwd →       Mostrar el nombre del directorio en el que uno se encuentra situado
  $chmod → Cambiar los permisos de el archivo.
  $echo → Sacar por la salida standard (la pantalla) lo que se le pasa por parámetro, puede ser texto o
          una variable
Estructura.

#!/bin/bash
                          #! Se conoce con el nombre de Sha Bang.
#                         /bin/bash Lo que vamos a usar ya sea bash o
                                                      perl (/usr/bin/perl)
# Esto es un comentario
#
comando
comando
comando
.....
HOLA MUNDOOO


#!/bin/bash
echo ”Hola Mundo, cruel :'(”
Cómo ejecutar.
Primero damos permisos de ejecución
       chmod +x script.sh
            Ejecutamos
            ./script.sh
REDIRRECIONES

        ls -l > ejemplols-l.txt
Esto hará que la salida de un programa se
 escriba en un fichero.
              stdout a un fichero
TUBERÍAS

Las tuberías le permiten utilizar la
 salida de un programa como la
 entrada de otro.
TUBERÍAS

  ls -l | sed -e "s/[aeio]/u/g"

enlista | entuba en sed e imprime en
 pantalla, todo con solo U =)
SCRIPTS
VARIABLES


#!/bin/bash
nombrevariable=valor
VARIABLES


#!/bin/bash
Nombrevariable=´comando´
LLAMAR VARIABLE
#!/bin/bash
nombrevariable=valor




              $nombrevariable
LLAMAR VARIABLE

#!/bin/bash
nombrevariable=valor
echo $nombrevariable
VARIABLES INTRODUCIDAS POR EL TECLADO

#!/bin/sh
echo ”hola como te llamas”

read nombre
VARIABLES INTRODUCIDAS POR EL TECLADO

#!/bin/sh
echo ”hola como te llamas”
read nombre
echo ”Hola $nombre”
COMANDO READ

read [opciones] nombre_variable1
  nombre_variable2 nombre_variableN

read -p “Introduce el nombre y los
  apellidos” nombre apellidos
Condiciones



Operadores.
OPERADORES RELACIONALES ARITMETICOS


                -lt (<)
               -gt (>)
               -le (<=)
              -ge (>=)
              -eq (==)
              -ne (!=)
OPERADORES ARITMETICOS


       + (adición)
      - (sustracción)
       * (producto)
        / (división)
       % (módulo)
CONDICIONES, BUCLES, CICLOS.
         ( If – Then )
           ( While )
            (UNTIL)
            ( FOR )
IF
If    [condición]
            then
            lista de comandos
     else
            lista de comandos2
fi
IF
#!/bin/bash
echo ' Adivina el valor numerico de la variable'
            read A
            if [ $A = 1 ]
            then
            echo 'Acertaste'
            exit 0
            fi
     echo 'No acertaste'
     exit
IF-ELSE

#!/bin/bash
echo Cual es tu Edad
read edad
if [ $edad -ge 18 ]; then
     echo eres mayor de edad
 else
 echo eres menor de edad
fi
FOR
El bucle for es distinto a los de otros lenguajes de
  programación. Básicamente, le permite iterar sobre una
  serie de `palabras' contenidas dentro de una cadena.
FOR

     #!/bin/bash
     for i in $( ls ); do
        echo item: $i
     done

En la segunda línea declaramos i como la variable que recibirá los
 diferentes valores contenidos en $( ls ).
'done' indica que el código que ha utilizado el valor de $i ha acabado e
   $i puede tomar el nuevo valor.
WHILE
El bucle while ejecuta un trozo de códico si la expresión de
  control es verdadera, y sólo se para cuando es falsa (o se
  encuentra una interrupción explícita dentro del código en
  ejecución).
WHILE.


while [ condición ]; do
          ...
         done
UNTIL
El bucle until es casi idéntico al bucle loop, excepto en que el
  código se ejecuta mientras la expresión de control se evalúe
  como falsa.
UNTIL


#!/bin/bash
    CONTADOR=20
    until [ $CONTADOR -lt 10 ]; do
       echo CONTADOR $CONTADOR
       let CONTADOR-=1
    done
FUNCIONES



Como en casi todo lenguaje de programación, puede utilizar funciones
  para agrupar trozos de código de una manera más lógica, o practicar
  el divino arte de la recursión.
                     function mi_func { mi_código }.
FUNCIONES
               1          #!/bin/bash
               2         function salir {
               3          exit
               4     }
               5         function hola {
               6            echo Hola
               7         }
               8         hola
               9         salir
               10          echo bushio

Primero se llama a la función 'hola', luego a la función 'quit', y el
programa nunca llega a la línea 10.
El sueño de un
       SELECT                          programador para hacer
#!/bin/bash
                                       menús basados en texto.
   OPCIONES="Hola Salir"
   select opt in $OPCIONES; do
      if [ "$opt" = "Salir" ]; then
       echo done                       Muy similar a la
       exit
      elif [ "$opt" = "Hola" ]; then   construcción 'for', sólo que
       echo Hola Mundo                 en vez de interar para
      else
       clear                           cada 'palabra' en
       echo opción errónea
                                       $OPCIONES, se lo pide al
      fi
   done                                usuario .
GTK-DIALOG
GTK-DIALOG

●   Texto Atributos. (texto_atributos.sh)
●   Archivos de Entrada. (input.sh)
●   Button (button.sh)
●   CheckBox (check.sh, Checkb.sh, Combobox.sh)
●   ProgressBar (progresobar.sh, progresobarter.sh,
      progresobartest.sh)
●   Menu (Menu.sh, Menuicon.sh, Choo.sh)
●   Notebook (notebook.sh)
¿Preguntas?
Links:
  http://bucio.com.mx/sobre/bash/
http://www.gnu.org/software/bash/manual/bashref.html
  http://www.linuxconfig.org/Bash_scripting_Tutorial
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html

http://bucio.com.mx/sobre/gtkdialog/

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Course 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild CardsCourse 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild Cards
 
Php Tutorial
Php TutorialPhp Tutorial
Php Tutorial
 
Perl 5.10 for People Who Aren't Totally Insane
Perl 5.10 for People Who Aren't Totally InsanePerl 5.10 for People Who Aren't Totally Insane
Perl 5.10 for People Who Aren't Totally Insane
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Basic concept of jcl
Basic concept of jclBasic concept of jcl
Basic concept of jcl
 
Ext4 filesystem(1)
Ext4 filesystem(1)Ext4 filesystem(1)
Ext4 filesystem(1)
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry Pi
 
Linux cheat-sheet
Linux cheat-sheetLinux cheat-sheet
Linux cheat-sheet
 
Course 102: Lecture 10: Learning About the Shell
Course 102: Lecture 10: Learning About the Shell Course 102: Lecture 10: Learning About the Shell
Course 102: Lecture 10: Learning About the Shell
 
Embedded linux network device driver development
Embedded linux network device driver developmentEmbedded linux network device driver development
Embedded linux network device driver development
 
Introduction to kotlin
Introduction to kotlinIntroduction to kotlin
Introduction to kotlin
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
Linux Commands
Linux CommandsLinux Commands
Linux Commands
 
Ejercicios Python Parte 1
Ejercicios Python Parte 1Ejercicios Python Parte 1
Ejercicios Python Parte 1
 
Perl Programming - 01 Basic Perl
Perl Programming - 01 Basic PerlPerl Programming - 01 Basic Perl
Perl Programming - 01 Basic Perl
 
Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shell
 
Module 05 Preprocessor and Macros in C
Module 05 Preprocessor and Macros in CModule 05 Preprocessor and Macros in C
Module 05 Preprocessor and Macros in C
 
Introduction to shell scripting
Introduction to shell scriptingIntroduction to shell scripting
Introduction to shell scripting
 
Java program structure
Java program structure Java program structure
Java program structure
 

Destacado

Introducción a la programación en Bash
Introducción a la programación en BashIntroducción a la programación en Bash
Introducción a la programación en BashMauro Parra-Miranda
 
El shell-bash
El shell-bashEl shell-bash
El shell-bashlluera
 
ejercicios red hat capitulo5
ejercicios red hat capitulo5ejercicios red hat capitulo5
ejercicios red hat capitulo5Oriencoop
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDFULEAM
 
Conceptos básicos del shell
Conceptos básicos del shellConceptos básicos del shell
Conceptos básicos del shellgschuldt23
 
Expresiones regulares2.pdf
Expresiones regulares2.pdfExpresiones regulares2.pdf
Expresiones regulares2.pdfJeffreyagnz
 
Taller de Shell Scripting
Taller de Shell ScriptingTaller de Shell Scripting
Taller de Shell ScriptingEnrique Verdes
 
Autómatas finitos y expresiones regulares
Autómatas finitos y expresiones regularesAutómatas finitos y expresiones regulares
Autómatas finitos y expresiones regularesIvan Vladimir Meza-Ruiz
 
Comando grep y expresiones regulares
Comando grep y expresiones regularesComando grep y expresiones regulares
Comando grep y expresiones regularesMadelón García
 
Primeros Programas Shell Script
Primeros Programas Shell ScriptPrimeros Programas Shell Script
Primeros Programas Shell ScriptPablo Macon
 
Comandos GNU/Linux-Unix y programación shell.
Comandos GNU/Linux-Unix y programación shell.Comandos GNU/Linux-Unix y programación shell.
Comandos GNU/Linux-Unix y programación shell.Alan Resendiz
 
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASHCOMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASHUniversidad de Guayaquil
 

Destacado (20)

Introducción a la programación en Bash
Introducción a la programación en BashIntroducción a la programación en Bash
Introducción a la programación en Bash
 
Curso Bash 2
Curso Bash 2Curso Bash 2
Curso Bash 2
 
El shell-bash
El shell-bashEl shell-bash
El shell-bash
 
Curso Bash 1
Curso Bash 1Curso Bash 1
Curso Bash 1
 
ejercicios red hat capitulo5
ejercicios red hat capitulo5ejercicios red hat capitulo5
ejercicios red hat capitulo5
 
Zhang Jiangong CV
Zhang Jiangong CVZhang Jiangong CV
Zhang Jiangong CV
 
Archivos especiales
Archivos especialesArchivos especiales
Archivos especiales
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDF
 
Archivos especiales
Archivos especialesArchivos especiales
Archivos especiales
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
Conceptos básicos del shell
Conceptos básicos del shellConceptos básicos del shell
Conceptos básicos del shell
 
Expresiones regulares2.pdf
Expresiones regulares2.pdfExpresiones regulares2.pdf
Expresiones regulares2.pdf
 
Taller de Shell Scripting
Taller de Shell ScriptingTaller de Shell Scripting
Taller de Shell Scripting
 
Autómatas finitos y expresiones regulares
Autómatas finitos y expresiones regularesAutómatas finitos y expresiones regulares
Autómatas finitos y expresiones regulares
 
bash
bashbash
bash
 
Comando grep y expresiones regulares
Comando grep y expresiones regularesComando grep y expresiones regulares
Comando grep y expresiones regulares
 
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
 
Primeros Programas Shell Script
Primeros Programas Shell ScriptPrimeros Programas Shell Script
Primeros Programas Shell Script
 
Comandos GNU/Linux-Unix y programación shell.
Comandos GNU/Linux-Unix y programación shell.Comandos GNU/Linux-Unix y programación shell.
Comandos GNU/Linux-Unix y programación shell.
 
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASHCOMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
 

Similar a Programación en Bash

Estructuras de control 1
Estructuras de control 1Estructuras de control 1
Estructuras de control 1Pablo Macon
 
Script Y Comandos De Linux
Script Y Comandos De LinuxScript Y Comandos De Linux
Script Y Comandos De Linuxsilvanetorres
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bashyimfer1
 
Estructuras de control 1.0
Estructuras de control 1.0Estructuras de control 1.0
Estructuras de control 1.0Pablo Macon
 
Curso GNU/Linux
Curso GNU/LinuxCurso GNU/Linux
Curso GNU/Linuxcorchero83
 
Comandos básicos para la terminal de ubuntu
Comandos básicos para la terminal de ubuntuComandos básicos para la terminal de ubuntu
Comandos básicos para la terminal de ubuntuMonchitocm Cuemtz
 
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_bashvictdiazm
 
Variables y comillas en Linux
Variables y comillas en LinuxVariables y comillas en Linux
Variables y comillas en LinuxPablo Macon
 
Shell script
Shell scriptShell script
Shell scriptuniminuto
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linuxusupr2014
 
Script presentacion
Script presentacionScript presentacion
Script presentacionVanne Napa
 

Similar a Programación en Bash (20)

Estructuras de control 1
Estructuras de control 1Estructuras de control 1
Estructuras de control 1
 
Script Y Comandos De Linux
Script Y Comandos De LinuxScript Y Comandos De Linux
Script Y Comandos De Linux
 
Script
ScriptScript
Script
 
Bash Tips Tricks Campus
Bash Tips Tricks CampusBash Tips Tricks Campus
Bash Tips Tricks Campus
 
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
 
Los scripts de linux
Los scripts de linuxLos scripts de linux
Los scripts de linux
 
Estructuras de control 1.0
Estructuras de control 1.0Estructuras de control 1.0
Estructuras de control 1.0
 
Untitled 1
Untitled 1Untitled 1
Untitled 1
 
Curso GNU/Linux
Curso GNU/LinuxCurso GNU/Linux
Curso GNU/Linux
 
Comandos básicos para la terminal de ubuntu
Comandos básicos para la terminal de ubuntuComandos básicos para la terminal de ubuntu
Comandos básicos para la terminal de ubuntu
 
Estructuras de control 1
Estructuras de control 1Estructuras de control 1
Estructuras de control 1
 
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
 
Scripts
ScriptsScripts
Scripts
 
Variables y comillas en Linux
Variables y comillas en LinuxVariables y comillas en Linux
Variables y comillas en Linux
 
Manual linux
Manual linuxManual linux
Manual linux
 
Shell script
Shell scriptShell script
Shell script
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linux
 
Script presentacion
Script presentacionScript presentacion
Script presentacion
 

Último

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (16)

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Programación en Bash

  • 1. #!/bin/bash Rafael Bucio Universidad Politecnica de Chiapas
  • 2. Que es Bash ?? Bourne-Again SHell (otro shell bourne) Haciendo un juego de palabras (born-again significa renacimiento) Sobre el Bourne shell (sh) → que fue uno de los primeros intérpretes importantes de Unix. Hacia 1978 el shell Bourne era el shell distribuido con el Unix Version 7. Es un Interprete de comandos. no necesita compilar :D
  • 3. Como encontrarlo ?? Aplicaciones → accesorios → Terminal Tecleamos: locate bash Para ser mas exactos: which bash
  • 4. ¿Qué necesito?: ● Editor de texto, gedit, vim etc.. ● Comandos Basicos Unix. ● Un poco de XML
  • 5. Comandos Basicos $ cd → Cambiar el directorio de trabajo (change directory) $ ls → Listar el contenido de directorios (list) $ mkdir → Crear un directorio (make directory) $ rmdir → Borrar un directorio (remove directory) $ cp → Copiar un archivo o directorio en el directorio especificado (copy) $ mv → Mover un archivo o directorio a un archivo o directorio. Se utiliza también para renombrar; el origen y destino es un archivo (move) $ rm → Borrar archivos o directorios (remove): $ cat → Mostrar por pantalla el contenido de los archivos por la salida estándar. $ find → Buscar archivos recorriendo árboles de directorios especificados por las rutas. $ pwd → Mostrar el nombre del directorio en el que uno se encuentra situado $chmod → Cambiar los permisos de el archivo. $echo → Sacar por la salida standard (la pantalla) lo que se le pasa por parámetro, puede ser texto o una variable
  • 6. Estructura. #!/bin/bash #! Se conoce con el nombre de Sha Bang. # /bin/bash Lo que vamos a usar ya sea bash o perl (/usr/bin/perl) # Esto es un comentario # comando comando comando .....
  • 8. Cómo ejecutar. Primero damos permisos de ejecución chmod +x script.sh Ejecutamos ./script.sh
  • 9. REDIRRECIONES ls -l > ejemplols-l.txt Esto hará que la salida de un programa se escriba en un fichero. stdout a un fichero
  • 10. TUBERÍAS Las tuberías le permiten utilizar la salida de un programa como la entrada de otro.
  • 11. TUBERÍAS ls -l | sed -e "s/[aeio]/u/g" enlista | entuba en sed e imprime en pantalla, todo con solo U =)
  • 17. VARIABLES INTRODUCIDAS POR EL TECLADO #!/bin/sh echo ”hola como te llamas” read nombre
  • 18. VARIABLES INTRODUCIDAS POR EL TECLADO #!/bin/sh echo ”hola como te llamas” read nombre echo ”Hola $nombre”
  • 19. COMANDO READ read [opciones] nombre_variable1 nombre_variable2 nombre_variableN read -p “Introduce el nombre y los apellidos” nombre apellidos
  • 21. OPERADORES RELACIONALES ARITMETICOS -lt (<) -gt (>) -le (<=) -ge (>=) -eq (==) -ne (!=)
  • 22. OPERADORES ARITMETICOS + (adición) - (sustracción) * (producto) / (división) % (módulo)
  • 23. CONDICIONES, BUCLES, CICLOS. ( If – Then ) ( While ) (UNTIL) ( FOR )
  • 24. IF If [condición] then lista de comandos else lista de comandos2 fi
  • 25. IF #!/bin/bash echo ' Adivina el valor numerico de la variable' read A if [ $A = 1 ] then echo 'Acertaste' exit 0 fi echo 'No acertaste' exit
  • 26. IF-ELSE #!/bin/bash echo Cual es tu Edad read edad if [ $edad -ge 18 ]; then echo eres mayor de edad else echo eres menor de edad fi
  • 27. FOR El bucle for es distinto a los de otros lenguajes de programación. Básicamente, le permite iterar sobre una serie de `palabras' contenidas dentro de una cadena.
  • 28. FOR #!/bin/bash for i in $( ls ); do echo item: $i done En la segunda línea declaramos i como la variable que recibirá los diferentes valores contenidos en $( ls ). 'done' indica que el código que ha utilizado el valor de $i ha acabado e $i puede tomar el nuevo valor.
  • 29. WHILE El bucle while ejecuta un trozo de códico si la expresión de control es verdadera, y sólo se para cuando es falsa (o se encuentra una interrupción explícita dentro del código en ejecución).
  • 30. WHILE. while [ condición ]; do ... done
  • 31. UNTIL El bucle until es casi idéntico al bucle loop, excepto en que el código se ejecuta mientras la expresión de control se evalúe como falsa.
  • 32. UNTIL #!/bin/bash CONTADOR=20 until [ $CONTADOR -lt 10 ]; do echo CONTADOR $CONTADOR let CONTADOR-=1 done
  • 33. FUNCIONES Como en casi todo lenguaje de programación, puede utilizar funciones para agrupar trozos de código de una manera más lógica, o practicar el divino arte de la recursión. function mi_func { mi_código }.
  • 34. FUNCIONES 1 #!/bin/bash 2 function salir { 3 exit 4 } 5 function hola { 6 echo Hola 7 } 8 hola 9 salir 10 echo bushio Primero se llama a la función 'hola', luego a la función 'quit', y el programa nunca llega a la línea 10.
  • 35. El sueño de un SELECT programador para hacer #!/bin/bash menús basados en texto. OPCIONES="Hola Salir" select opt in $OPCIONES; do if [ "$opt" = "Salir" ]; then echo done Muy similar a la exit elif [ "$opt" = "Hola" ]; then construcción 'for', sólo que echo Hola Mundo en vez de interar para else clear cada 'palabra' en echo opción errónea $OPCIONES, se lo pide al fi done usuario .
  • 37. GTK-DIALOG ● Texto Atributos. (texto_atributos.sh) ● Archivos de Entrada. (input.sh) ● Button (button.sh) ● CheckBox (check.sh, Checkb.sh, Combobox.sh) ● ProgressBar (progresobar.sh, progresobarter.sh, progresobartest.sh) ● Menu (Menu.sh, Menuicon.sh, Choo.sh) ● Notebook (notebook.sh)
  • 39.
  • 40. Links: http://bucio.com.mx/sobre/bash/ http://www.gnu.org/software/bash/manual/bashref.html http://www.linuxconfig.org/Bash_scripting_Tutorial http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html http://bucio.com.mx/sobre/gtkdialog/