13.07.2015 Views

Aprenda Linux como en Primero - Poder Judicial de Santa Cruz

Aprenda Linux como en Primero - Poder Judicial de Santa Cruz

Aprenda Linux como en Primero - Poder Judicial de Santa Cruz

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 11: PROGRAMAS DE COMANDOS página 63D<strong>en</strong>tro <strong>de</strong>l fichero <strong>de</strong> comandos, 0 valdría <strong>de</strong>l y 1 valdría file.Un programa <strong>de</strong> comandos más complicado y que utiliza dos parámetros podría ser el cont<strong>en</strong>ido <strong>en</strong>el fichero cambio, que intercambia el nombre <strong>de</strong> dos ficheros:mv 1 ficheropufomv 2 1mv ficheropufo 2Este fichero se ejecutaría <strong>en</strong> la forma,cambio file1 file2En este ejemplo 0 es cambio, 1 es file1 y 2 es file2. En realidad a un fichero <strong>de</strong> comandos se lepued<strong>en</strong> pasar todos los argum<strong>en</strong>tos que se <strong>de</strong>se<strong>en</strong>, aunque sólo hay nombre específico para losnueve primeros (más el propio nombre <strong>de</strong>l comando). El número <strong>de</strong> argum<strong>en</strong>tos que se le pasa estácont<strong>en</strong>ido <strong>en</strong> la variable #. La variable * conti<strong>en</strong>e el conjunto <strong>de</strong> todos los parámetros. Un nuevoejemplo pue<strong>de</strong> aclarar algo más este punto.Si el programa <strong>de</strong>l que hemos hecho previam<strong>en</strong>te lo hubiéramos utilizado <strong>en</strong> la forma:<strong>de</strong>l *.fteóricam<strong>en</strong>te <strong>de</strong>bería <strong>de</strong> borrar, con confirmación, todos los ficheros Fortran <strong>de</strong>l directorio. En lapráctica no es así, porque (*.f) no repres<strong>en</strong>ta un único argum<strong>en</strong>to sino muchos argum<strong>en</strong>tos (todoslos ficheros Fortran <strong>de</strong>l directorio). Como resultado sólo se borra el primer fichero Fortran. Paraborrar todos e indicarnos a<strong>de</strong>más cuántos ficheros hay, el fichero <strong>de</strong>l podría estar compuesto por lossigui<strong>en</strong>tes comandos:echo "Hay # programas Fortran \n"rm -i *El comando shift hace posible utilizar y distinguir parámetros que están más a la <strong>de</strong>recha <strong>de</strong>lnov<strong>en</strong>o lugar <strong>en</strong> la llamada al programa <strong>de</strong> comandos. En efecto, cuando se llama al comando shift,2 se convierte <strong>en</strong> 1, 3 <strong>en</strong> 2, etc, y lo que hubiera sido 10 <strong>en</strong> 9, con lo cual ya se pue<strong>de</strong> refer<strong>en</strong>ciar. Elcomando shift <strong>de</strong>ja inalterado 0 y pue<strong>de</strong> utilizarse tantas veces <strong>como</strong> se <strong>de</strong>see.11.5 Otras posibilida<strong>de</strong>s <strong>de</strong> los ficheros <strong>de</strong> comandosLos ficheros <strong>de</strong> comandos ti<strong>en</strong><strong>en</strong> muchas más posibilida<strong>de</strong>s que las que se han apuntado <strong>en</strong> estaIntroducción: pued<strong>en</strong> leer variables, preguntar por la exist<strong>en</strong>cia <strong>de</strong> un fichero y por si es ejecutable ono, y admit<strong>en</strong> construcciones lógicas <strong>de</strong>l tipo IF, DO, DO WHILE, etc. Para utilizar estasposibilida<strong>de</strong>s acudir al manual correspondi<strong>en</strong>te.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!