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

LINUX – Bash Script con código AWK embebido.-

Publicado en Unix - Linux | Deja un comentario

LINUX – Uso de IFS y comando READ en SCRIPTS BASH.-

El IFS (Input Field Separator) es una variable global cuyo valor es el carácter o caracteres que funcionan como delimitador para separar un valor de otro en la línea leída. Podemos imprimir el valor del IFS con el siguiente comando:

Como podemos ver, el IFS por defecto es cualquiera de:

  • un espacio en blanco
  • un tabulador
  • un salto de línea

Pero en ocasiones, podemos tener como valor de una variable una secuencia de valores unidos por otro tipo de separador (una coma, dos puntos, etc…)

Cambiando temporalmente el valor del IFS, podemos utilizar el comando «read» para descomponer este valor en los valores individuales de que consta.

Por ejemplo, supongamos que tenemos que procesar una línea en el formato del fichero /etc/passwd

Comenzamos por guardar el valor de la variable IFS, para poder recuperarlo más tarde, y asignar temporalmente el carácter «:» como separador

Con esto, podemos descomponer el valor de la línea en los campos de que consta, con el comando «read»:

Y por último, volvemos a asignar a IFS el valor que tenía previamente:

Publicado en Unix - Linux | 1 comentario

BASH – Dividir variable por delimitador especifico.-

Al ejecutar este SCRIPT obtendremos el siguiente resultado. En esta ocasión se definió los valores dentro de una variable, también se puede definir un ARRAY o leer directamente de un archivo. Los usos quedan a la imaginación.-

Publicado en Unix - Linux | Deja un comentario