Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

escudo.jpg (17355 bytes)

MUSICA MIENTRAS NAVEGAS CON REAL AUDIO

sacanimado.GIF (139839 bytes)

165 PERSONAS QUE NOS VISITAN

iconobusca.gif (415 bytes)

TUTORIAL DE UNIX

Expresiones complicadas

Algunas veces vas a necesitar evaluar expresiones complicadas en un script, como condiciones dobles (con y o con o), y puede que incluso condiciones triples (más lo dudo).

Este es un tema delicado en la programación de shell: la forma de hacerlo es con los operadores -a y -o (and y or respectivamente), con lo que una expresión doble puede quedar tal que así (de horrible):

[ -f /home/zoso/.profile -a -d /home/zoso/Mail ]

Si quisiésemos realizar condiciones dobles, y poner paréntesis, hay un problema añadido, y es que los paréntesis son caracteres especiales para el shell. Entonces, para que no los reconozca como paréntesis, y que coja los paréntesis literales, como texto, hay que escribirlos como \( y \) (sí, utilizando el símbolo \ como en C y en otros lenguajes de programación relacionados con el UNIX). Así, una condición doble quedaría en shell así que ilegible:

[ -d ~/Mail -o \( -f ~/mail -a cont -ne 0 \) ]

Es importante acordarse de escribir espacios entre los paréntesis, todos los operadores y los corchetes, porque al fin y al cabo van a ser interpretados por un programa, y necesita que se presenten todos como parámetros diferentes.

REGRESAR

CONTINUAR