Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Ingenieria de Sistemas / Programación Shell: Estructuras de control

Programación Shell: Estructuras de control

Autor jc mouse jueves, diciembre 1, 2016

Las estructuras de control de Shell son muy parecidos a otras lenguajes de programación. Las estructuras disponibles en shell son: IF, CASE, FOR, WHILE, UNTIL.

Antes de comenzar con las estructuras de control, debemos conocer los operadores lógicos y de comparación con los que contamos y que trabajan a la par con las estructuras de control.

Comparación de cadenas alfanumericas:

  • = igual a
  • != diferente a
  • > mayor que
  • < menor que
  • -n evalúa si la longitud de la cadena es superior a cero “0”
  • -z evalúa si la longitud de la cadena es igual a cero “0”

Comparación numérica:

  • -eq igual que
  • -ge mayor o igual que
  • -le menor o igual que
  • -ne no igual que
  • -gt mayor que
  • -lt menor que

Operadores logicos

  • ! NOT: Negación
  • -a AND: Y logico
  • -o OR: O logico

También contamos con operadores de archivos

  • -d archivo: Verifica si archivo existe y es un directorio
  • -e archivo: Verifica si archivo existe
  • -f archivo: Archivo existe y es un archivo regular, no un directorio u otro tipo de archivo especial
  • -r archivo: Verifica permiso de lectura
  • -s archivo: Verifica si archivo existe y no esta vació (tamaño mayor a 0)
  • -w archivo: Verifica permiso de escritura
  • -x archivo: Verifica permiso de ejecución en el archivo (o de búsqueda si es un directorio)

ESTRUCTURAS DE CONTROL

IF

Su sintaxis es:

if expresion
then
   comando X
   ...
[else
   comando Y
   ...]
fi

y también IF anidado

if expresion
then
   comando X
   ...
[elif expresion
then
   comando Y
   ...]
[else
   comando Z
   ...]
fi

Ejemplo: if.sh

if else fi

CASE

Sintaxis:

case $variable in
    valor1)
       instrucciones;;
    valor2)
       instrucciones;;
    *)
       instrucciones;;
esac

Case verifica si $variable cumple con alguno de los valores (o patrones) y ejecuta los comandos asociados a estos, caso contrario ejecutara las instrucciones después del *).  Las 2 punto y coma “;;” permiten delimitar cada bloque de instrucciones, y la instrucción case finaliza con esac (case al revés)

Ejemplo. case.sh

case command

FOR

for es una estructura repetitiva que se repite N veces.

sintaxis:

for variable in lista
do
   instrucciones
   ...
done

donde variable ira tomando cada uno de los valores de lista, cuando ya no haya más valores, el ciclo se acaba.

Ejemplos

for1.sh

for

for2.sh

programming linux

for3.sh

scripting

Existe una forma más de usar el ciclo for que a muchos les parecerá conocido ya que se asemeja al for de C o Java

for (( INICIO; MIENTRAS ; INCREMENTO ))
do
   instrucciones
   ...
done

for4.sh

for bash

WHILE

while es una estructura repetitiva donde un conjunto de comandos se ejecutan “mientras” (while)  la condición dada sea verdadera.

Sintaxis

while [ condicion ]
do
   instruccion 1
   ...
   instruccion N
done

Ejemplo: while.sh

scripting unix

UNTIL

until al igual que while es una estructura repetitiva, pero se diferencian en que until ejecutas las instrucciones “hasta” que la condición dada es verdadera

Sintaxis

until [ condicion ]
do
   instruccion 1
   ...
   instruccion N
done

Ejemplo: until.sh

unix programming

enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Código de Control v7 en JavaScript

Código de Control v7 en JavaScript

En esta oportunidad, se deja a disposición de la comunidad de programadores de Bolivia y también porque no, del que quie...

Dibujar primitivas 2d en html5

Dibujar primitivas 2d en html5

HTML5 junto a javascript permite dibujar figuras llamadas shapes sobre un lienzo que recibe el nombre de “canvas...

Búsqueda binaria (Binary Search)

Búsqueda binaria (Binary Search)

Un algoritmo de búsqueda binaria se emplea para buscar un valor en particular en un arreglo previamente ordenado. Para i...

¿Qué es AngularJS?

¿Qué es AngularJS?

Bienvenido a este artículo soy Jose Pedraza Desarrollador Web por más de 7 años, escribiré una serie de artículos para i...

Simulador de Urna Electrónica en java

Simulador de Urna Electrónica en java

Hola 🙂 en esta ocasión un amigo del Brasil nos envía un proyecto java de una Urna Electrónica o Voto Electronico, desarr...

MariaDB: Tablas Virtuales (Vistas – View)

MariaDB: Tablas Virtuales (Vistas – View)

¿Qué es una vista? Una vista (View) o Tabla Virtual, es una forma lógica de ver los datos ubicados en varias tablas, es...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Comparte lo que sabes

Categorias

Últimas entradas

Si quieres cambiar el nombre de tus atributos sin tener que reescribir código java por X o Y razón, GSON te permite reno...

Un JList nos permite almacenar objetos en una lista y mostrarlos gráficamente en una serie vertical en el cual el usuari...

El proyecto “Java Decompiler” tiene como objetivo desarrollar herramientas para descompilar y analizar byte...

En este post aprenderemos lo que es un JSON Web Token, como crear nuestro propio token de acceso y como usarlo en un Ser...

Android Bolivia

Bandera en Alto