Volver al índice


operadores

(Bash scripting).

lógicos o de comparación de cadenas alfanuméricas:

= (Verdadero si las 2 cadenas son iguales)

!= (Verdadero si las 2 cadenas son distintas)

-n (Informa si la cadena tiene longitud mayor a cero)

-z (Informa si la cadena tiene longitud igual a cero)

== (Verdadero si las 2 cadenas son iguales [solo en bash])

< (Si una cadena es menor que otra)

> (Si una cadena es mayor que otra)

lógicos o de comparacion de valores numericos

x -lt y (x menor que y)

x -le y (x menor o igual que y)

x -eq y (x igual que y)

x -ge y (x mayor o igual que y)

x -gt y (x mayor que y)

x -ne y (x no igual que y)

De comprobacion de atributos de fichero

-d fichero (fichero existe y es un directorio)

-e fichero (fichero existe)

-f fichero (fichero existe y es regular [no un directorio])

-r fichero (si fichero tiene permiso de lectura)

-s fichero (fichero existe y no esta vacio)

-w fichero (si fichero tiene permiso de escritura)

-x fichero (si fichero tiene permiso de ejecucion o de busqueda si es un directorio)

-O fichero (si eres dueño del fichero)

-G fichero (si el grupo del fichero es igual al tuyo)

Algunos ejemplos:

1.-

Comprobar si un fichero tiene datos:

#!/bin/bash

A=/etc/fstab

if [ -s "$A" ]

then

    echo "Tiene datos"

else

    echo "No los tiene"

fi

2.-

Comprobar si un directorio es el personal del usuario:

#!/bin/bash

read -p "Ingrese un directorio: " DIR

if [ $DIR = home ]

then

    echo "Es tu directorio personal"

else

    echo "No es tu home"

fi

exit 0

3.-

Verificar si un archivo pasado como argumento existe o no:

#!/bin/bash

if [ $# -eq 0 ]

then

     echo "Falta el parametro"

     exit

else

    if [ -f $1 ]

    then

        echo "archivo existe"

    else

        echo "archivo no existe"

    fi

fi

Volver al índice