You are on page 1of 3

Information Center Networking Specialist

Expresiones condicionales
Concepto. Las expresiones condicionales utilizadas en Linux tienen la finalidad de probar los atributos de archivos y de realizar comparaciones de cadenas y comparaciones aritmticas. El comando test se usa para este objetivo. Las expresiones condicionales que se evalan con test u otros comandos compuestos son: -a archivo Verdadero si el archivo existe. -b archivo Verdadero si archivo existe y es un fichero especial de bloques. -c archivo Verdadero si el archivo existe y es un archivo especial de caracteres. -d archivo Verdadero si el archivo existe y es un directorio. -e archivo Verdadero si el archive existe -f archivo Verdadero si el archive existe y es un archivo regular. -g archivo Verdadero si el archivo existe y es set-group-id. -h archivo Verdadero si el archivo existe y es un enlace simblico. -k archivo Verdadero si el archivo existe y su bit sticky (pegajoso) se establece. -p archivo Verdadero si archivo existe y es una tubera con nombre (FIFO). -r archivo Verdadero si el archivo existe y es leble. -s archivo Verdadero si el archivo existe y tiene un tamao mayor que cero. -t fd Verdadero si el descriptor de archivo fd est abierto y se refiere a una terminal. -u archivo Verdadero si el archivo existe y su set-user-id bit se establece. -w archivo Verdadero si el archivo existe y es escribible. -x archivo Verdadero si el archivo existe y es ejecutable. -O archivo Verdadero si el archivo existe y es propiedad del usuario. -G archivo Verdadero si el archivo existe y es propiedad del grupo. -L archivo Verdadero si el archivo existe y es un enlace simblico. -S archivo Verdadero si el archivo existe y es un enchufe (socket). -N archivo Verdadero si el archivo existe y se ha modificado desde la ltima lectura.

Preparado por Herber H. Aragn Suclla

Clase #10 Re-direccionamiento en Linux


2

archivo1 -nt archivo2

Verdadero si el archivo1 es ms reciente (de acuerdo con la fecha de modificacin) que el archivo2 o si archivo1 existe y el archivo2 no. Verdadero si el archivo1 es ms antiguo (de acuerdo con la fecha de modificacin) que el archivo2 o si archivo1 existe y el archivo2 no. Verdadero si el archivo1 y el archivo2 se refieren al mismo dispositivo y nmeros de i-nodo.

archivo1 -ot archivo2

archivo1 -ef archivo2

-o optname -z string -n string

Verdadero si la opcin del Shell optname est habilitada. Verdadero si la longitud de del string (cadena) es cero. Verdadero si la longitud de del string no es cero. Verdadero si las cadenas son iguales. = Se puede utilizar en lugar de == para el cumplimiento estricto de POSIX. Verdadero si las cadenas no son iguales. Verdadero si cadena1 se clasifica antes de la cadena2 tipo de manera lexicogrfica en la localizacin actual. Verdadero si cadena1 se clasifica despus de la cadena2 tipo de manera lexicogrfica en la localizacin actual. Donde OP puede ser: -eq, -ne, -lt, -le, -gt, -ge. Estos operadores binarios retornan un valor verdadero si: arg1 Es igual (-eq) a, o No es igual a (-ne), o Es menor que (-lt), o Es menor o igual a (-le), o Es ms grande que (-gt), o Es ms grande o igual (-ge) a arg2, respectivamente. arg1 y arg2 pueden ser nmeros enteros positivos o negativos.

string1 == string2 string1 != string2 string1 < string2 string1 < string2

arg1 OP arg2

Linux

Information Center Networking Specialist


Ejemplo. Edicin. En la lnea de comandos: [hharagons@Linux ~]$ cat > prueba1.sh clear if test -a .bash_profile then cat .bash_profile else echo Archivo no existe fi Presionar CTRL+D, para cerrar archivo prueba1.sh Ejecucin. [hharagons@Linux ~]$

. prueba1.sh

Ejercicios. Exprese en pseudo-code las siguientes expresiones condicionales: 1. if [ w $archivo ]; 2. while [ var != 1 ] 3. while true 4. until [ $i = 5 ] 5. case $var in 6. if [ ! -z $var ]; 7. if test $var = 1; 8. i=`expr $i + 1`

Preparado por Herber H. Aragn Suclla

You might also like