BASH – LINUX – Como hacer bucles en shell script.-

Los Bucles, en programación, son uno de los pilares fundamentales en los cuales nos apoyamos a la hora de desarrollar cualquier tipo de aplicación, bien sea una web, una APP para Android o IOS, una aplicación de escritorio etc… 

BUCLE WHILE – En el siguiente ejemplo, podemos ver que, mientras la variable $contador sea menor o igual a 15, imprimiremos un mensaje por pantalla. Una vez que la variable tenga el valor 15, el bucle finalizará y el script imprimirá otro mensaje de finalización.

BUCLE UNTIL – En el siguiente ejemplo, la variable $contador se inicializa con un valor de 1. Hasta que la variable $contador no sea superior a 10, la variable $contador se incrementará en +1 hasta que sea superior a 10. El código es el siguiente:

BUCLE FOR – n el siguiente ejemplo, vamos a crear una serie de elementos (marchas de coches) que asignaremos a la variable coche y que posteriormente iremos recorriendo uno a uno para mostrar el nombre de cada una de las marcas. Lo que hace el bucle básicamente es, para cada uno de los elementos, hacer N cosas:

BREAK y CONTINUE EN BUCLES – Aunque no son realmente ningún tipo de bucle, break y continue se suelen utilizar dentro de los bucles vistos anteriormente para obligar al bucle a seguir o salirse de la ejecución. En el siguiente ejemplo, $a toma valores entre 0 y 10, pero si a=5, el bucle finalizará:

En el siguiente ejemplo, $a toma valores entre 0 y 10, y se mostrará un mensaje solo cuando a sea diferente de 7:

Publicado en Unix - Linux | 1 comentario

BASH – Como generar un HERE DOCUMENT en BASH.-

Ahora veamos cómo nos facilita la vida el uso de Here Document, indicando un delimitador (en este caso le he dado el nombre EOF) para el código que queremos volcar en el fichero html_example.html

Publicado en Unix - Linux | 1 comentario

LINUX – Algunos códigos interesantes para nuestros SCRIPTS :

Esta corresponde a una consulta WEB, en donde la respuesta se almacena en la variable “check” para ser procesada posteriormente, en la respuesta se quitan los símbolos “{}” y los espacios que deja adelante y atrás de la variable (check).-

[crayon-6865d57a0d015884192006/]

El siguiente codigo nos permite listar los archivos contenidos en la ruta “/usr19/servicios/” con grep –v se filtran los nombres de archivo que finalizan con números, signo “:” y “/”, también los que contienen en su nombre el patrón “respaldo”.

[crayon-6865d57a0d02b681928376/]

Elimina todos los espacios en blanco de una variable :

[crayon-6865d57a0d035574340077/]

Lista en forma recursiva los archivos, mostrando su ruta completa y filtrando los que en sus nombres finalicen con un número :

[crayon-6865d57a0d03e927581259/]

Si lo que quieres es eliminar el primer y el último carácter de una cadena, usa:

[crayon-6865d57a0d049644494813/]

Publicado en Unix - Linux | Deja un comentario

LINUX – Uso de operadores logicos AND – OR y NOT en shell script.-

Estos códigos permiten la ejecución o no, de un comando en función del código de retorno desde otro comando. Podemos combinar varios códigos de terminación de comandos mediante los operadores lógicos and (representada con &&) or (representada con ||) y not (representada con !).

Linea correcta de SCRIPT, por algún motivo no muestra en forma correcta los signos && :

if [[ ( $username == «admin» && $password == «secret» ) || ( $username == «system» && $password == «paso» ) ]]; then

AND (&&)

  • El comando comando2 se ejecuta únicamente si el comando comando1 devuelve el código verdadero.
  • Si los dos expresiones son verdaderas entonces los dos comandos devuelven verdadero.

OR (||)

  • El comando2 se ejecuta únicamente si el comando1 devuelve un código falso.
  • La expresión global es verdadera si al menos uno de los comandos devuelve verdadero.

NOT (!) En el ejemplo si el directorio /tmp/existe no existe, entonces se jecuta el comando echo.

Publicado en Unix - Linux | Deja un comentario

LINUX – Convertir segundos (timestamp) a formato tipo HH:MM:SS (horas:minutos:segundos).-

Al ejecutar el comando anterior, trasformaremos 73180 segundos, el resultado sera el siguiente :

Publicado en Unix - Linux | Deja un comentario