V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

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
Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
1837 entradas - Acerca del Tractatus
La Pipa Plena 2018