Programación Básica en Shell BASH

32
Programación Básica En Shell BASH

description

Tutorial para comenzar a realizar programas para la consola de UNIX, aprende estructuras de control y sintaxis básica.

Transcript of Programación Básica en Shell BASH

  • Programacin BsicaEn Shell BASH

  • Qu es el Shell BASH?

    BASH es un shell de Unix (intrprete de comandos de Unix) escrito para el proyecto GNU. Su nombre es un acrnimo de bourne-again shell (otro shell bourne).

  • BASH es el shell por defecto en la mayora de sistemas GNU/Linux, adems de Mac OS X, y puede ejecutarse en la mayora de los sistemas operativos tipo UNIX. Tambin se ha portado a Microsoft Windows por el proyecto Cygwin.

  • Los archivos ejecutables por BASH tienen la extensin .sh y para ejecutarlos basta con escribir: ./nombre_archivo.sh

  • Hola Mundo

    #!/bin/bash #Script de hola mundo echo "hola mundo"

    Ejemplo: hola.sh

  • Variables

    Como en todo lenguaje, necesitamos del uso de variables, que nos servirn para todo lo que queramos hacer en determinadas situaciones. Una variable, es una cadena de datos que se almacena en la memoria y que podemos llamar en cualquier momento para darle X uso.

  • Asignacin:

    En BASH las variables se asignan simplemente dando el nombre de la variable y su valor:

    hola=1 En este ejemplo se asigna el valor 1 a la variable hola.

  • En BASH las variables son sensibles al uso de maysculas, es decir, la variable Hola no es lo mismo que HOLA ni que holA.

    Otro de los puntos importantes de las variables en BASH es que no tenemos que asignarles un tipo, es decir, podemos darle a las variables cualquier valor y lo aceptar sin tener que decirle a BASH si es numrico o si son letras (string).

  • Llamar a una variable:

    Ya sabemos asignar una variable, pero de poco nos sirve si no podemos llamarla.

    En BASH, las variables las invocamos simplemente anteponiendo un smbolo de pesos '$' antes del nombre de la variable.

  • Ejemplo:#!/bin/bash #Asignando variables hola=1 #Llamando a la variable $hola #Mostrando el contenido de la variable echo $hola

    Ejemplo: variables.sh

  • Leer por teclado

    En BASH, como en otros lenguajes de programacin, podemos leer datos ingresados por el usuario desde el teclado.

    Para realizar esto se utiliza la instruccin read.

  • Ejemplo#! /bin/bash #Ejemplo read echo ingresa un numero read num echo Tu numero es:" echo $num

    Ejemplo: lectura.sh

  • Condiciones

    Una comprobacin es como su propio nombre indica, una funcin que se usa para verificar que una determinada condicin se cumpla (o no).

  • Sintaxis de IF

    if[condicion]; then operaciones else operaciones fi

  • Ejemplo:#!/bin/bash #Prueba IF !echo ' Adivina el valor numerico de la variable' read A if [ $A = 1 ]; then echo 'Has acertado' exit 0 else echo 'Error, te has equivocado' exit fiEjemplo: ejemplo-if.sh

  • Sintaxis de Casecase $variable in 1) operaciones ;; 2) operaciones ;; *) operaciones ;; esac

  • Ejemplo#! /bin/bash #Prueba CASE read opcion case $opcion in s|S) echo "pulso la opcin SI" ;; n|N) echo "pulso la opcin NO" ;; *) echo "desconozco esa opcin" ;; esac

    Ejemplo: ejemplo-case.sh

  • CiclosCiclo FOR

    El ciclo for es ampliamente usado en programacin en la mayora de los lenguajes, en el cual por cada elemento en determinada variable se repetirn determinadas acciones, esto hasta que lo haya hecho con todos los elementos indicados, entonces el ciclo habr terminado y solo entonces.

  • Sintaxis de FOR

    for(desde,hasta,con paso) do operaciones done

  • Ejemplo:#! /bin/bash # Prueba FOR !for (( i=0; i
  • Ciclo WHILE

    While es una instruccin de control que sirve para generar bucles, en los cuales grupos de instrucciones se ejecutan de forma repetida hasta que se cumpla una condicin.

    Cabe destacar que while, primero comprobar si se cumple la condicin y si se cumple y slo si se cumple entonces pasar a ejecutar secuencialmente las instrucciones contenidas entre do y done.

    Cada vez que se ejecuta un bucle completo (paso de bucle) vuelve a verificar si se cumple la condicin antes de volver a ejecutar otro paso de bucle.

  • Sintaxis de WHILEwhile [[ condicion ]] do accion 1 accion 2 accion n done

  • Ejemplo:#! /bin/bash # Prueba WHILE !limite=5 i=0; while [[ $limite -ge $i ]] do echo Accin $i ejecutada let i=$i+1 done

    Ejemplo: ejemplo-while.sh

  • Ciclo UNTILUntil, es una instruccin de control que sirve para generar bucles, en los cuales grupos de instrucciones dentro de un bloque se ejecutan de forma repetida hasta que se cumpla una condicin.

    Until, bsicamente, funciona de la misma manera que el ciclo while, incluso, tiene una sintaxis muy similar.

  • Sintaxis de UNTILuntil [[ condicion ]] do accion 1 accion 2 accion n done

  • FuncionesMuchas veces viene bien tener funciones para evitar repetir cdigo y hacer buenos scripts.

    Las funciones se pueden definir de la siguiente forma:

    function nombre_de_la_funcion { # comandos o instrucciones bash. }

  • Ejemplo:#! /bin/bash # Prueba funciones !function limpiarPantalla { clear } function listarETC { ls /etc } function crearDirectorio { mkdir carpeta } !echo Selecciona una opcion \'b\' limpia la pantalla, \'l\' para listar el contenido de /etc o \'c\' para crear el directorio \'carpeta\' read opcion case $opcion in b|B) limpiarPantalla ;; l|L) listarETC ;; c|C) crearDirectorio ;; esac Ejemplo: ejemplo-funciones.sh

  • OperadoresOperadores sobre ficheros

  • Operadores lgicos (negacin, and, or)

    Comparacin de enteros

  • Comparacin de cadenas

  • Operadores lgicos && y ||Adems de los anteriores, existen los operadores lgicos && (AND, multiplicacin lgica) y || (OR, suma lgica), que se puede aplicar al valor de salida de los programas: