domingo, 9 de septiembre de 2012

Curso scripting bash Comparación de valores

Esta es la parte numero 5 de estos tutoriales tipo cursos para aprender como funciona bash,y para aprender a crear nuestros scripts escritos en bash

Esta entrada esta basada en que ya leíste las 4 pasadas o ya tienes algún tipo de conocimientos en scripting o programación así que si no lo has hecho adelante


Parte 1


Parte 2


Parte 3

Parte 4 

En esta ocasión veremos los símbolos que comparar distintas cosas

Primero los símbolos de

Comparación de valores numéricos


Símbolo Ejemplo Descripción
-lt e -lt c e es menor a c
-le e -le c e es menor o igual a c
-eq e -eq c e es igual que c
-ge e -ge c e es mayor o igual que c
-gt e -gt c e es mayor que c
-ne e -ne c e no es igual que c

Ahora estos valores los podemos usar en un script mediante if declarando una variable


Comprobación de atributos de un archivo,carpeta o fichero


Símbolo Ejemplo Descripción
-d -d archivo Archivo existe y es un directorio
-e -e archivo Archivo existe y es cualquier tipo de archivo
-f -f archivo Archivo existe y es un fichero regular
-r -r archivo Tenemos permisos de lectura sobre el archivo
-s -f archivo Archivo existe y no esta vacio
-w -w archivo Tenemos permisos de escritura en el archivo
-x -x archivo Tenemos permisos de ejecución en el archivo o de búsqueda si fuese un directorio
-O -O archivo Somos dueños de archivo
-G -G archivo El grupo del archivo es igual al nuestro
-nt archivo -nt otro Archivo es mas reciente que el otro archivo
-ot archivo -ot otro Archivo es mas antiguo que el otro archivo



Comparación de valores alfanuméricos


Símbolo Ejemplo Descripción
= ValorA = ValorB El ValorA es igual a ValorB
!= ValorA != ValorB El ValorA es desigual al ValorB
< ValorA < ValorB El ValorA es menor que el ValorB
> ValorA > ValorB El ValorA es mayor que el ValorB
-n -n ValorA Longitud de ValorA mayor a 0
-z -z ValorA Logitud de ValorA menor a 0


Variables especiales


Símbolo Descripción
$$ Numero de proceso de SHELL en el que se esta utilizando
$0 Nombre de la SHELL que estamos ocupando
$1 a $9 Hace referencia a n-esimo en la linea de comandos
$? El código de retorno del ultimo comando ejecutado
$# Numero de argumentos
$* La lista de todos los argumentos

Ahora esto usado en un script seria así como lo que vimos en la entrada pasada

#!/bin/bash

e=10000
i=0;
while [[ $e -gt $i ]] # e es mayor que i,claro y como es un valor lógico ejecuta lo siguiente
do
echo Numero $i ejecutado
let i=$i+1
done

Ahora si se entiende mejor,estos simbolos son muy usados por los programadores,scripters para otorgar valores lógicos,y ejecutar acciones o compararar distintos archivos o valores,por ejemplo este es un script para jugar un rato

#!/bin/bash
echo 'Adivina el Numero'
echo 'Una pista,es entre el 0 y el 10'
num=$(($RANDOM%10))
read numb
if [ $num = $numb ]
then
echo "Acerstate era $num"
else
echo "Error el numero era $num"
fi

Ese script no usa ningún simbolo,pero si queremos que use dejemos que la pc juegue sola :D

#!/bin/bash
echo 'Adivina el Numero'
echo 'Una pista,es entre el 0 y el 10'
num=$(($RANDOM%10))
numb=$(($RANDOM%10))
if [ $num -ne $numb ]
then
echo "Acertaste $HOSTNAME era $num"
else
echo "Error $HOSTNAME el numero era $num"
fi




xD,se va a enojar la Pc,bueno ese es un ejemplo y estos símbolos mas que nada se los dejo para que tengan una idea para que sirven cuando están en un script





No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.