Subsecciones

Expansiones del shell

La sustitución de una variable por su valor se conoce como expansión de parámetros
$ A=Pepe
$ echo $A
Pepe
Otras expansiones Para más detalles sobre la expansión del shell mirar el manual de bash, sección EXPANSION


Expansión de nombres de ficheros

Los comodines (wildcards) permiten especificar múltiples ficheros al mismo tiempo:
$ ls -l *html # Lista los ficheros del directorio actual con terminación html
Lista de comodines
Carácter Corresponde a
* 0 o más caracteres
? 1 carácter
[ ] uno de los caracteres entre corchetes
[! ] o [^ ] cualquier carácter que no esté entre corchetes
Los ficheros ``ocultos'' (que empiezan por .) no se expanden

Nota importante: en bash el comportamiento de los rangos depende de la configuración de nuestro sistema, en particular, de la definición de la variable LC_COLLATE

Para referirnos a mayúsculas o minúsculas podemos usar los siguientes patrones: Para más detalles: man 7 glob


Expansión de comandos

Permite que la salida de un comando reemplace el propio comando

Formato:

$(comando) o `comando`
Ejemplos:
$ echo date
date
$ echo `date`
Xov Xul 21 13:09:39 CEST 2005
$ echo líneas en fichero=$(wc -l fichero)
# wc -l cuenta el número de líneas en el fichero; el comando se ejecuta y su salida se pasa al echo


Expansión de llaves

Permite generar strings arbitrarios
$ echo a{d,c,b}e
ade ace abe


Expansión de la tilde

Expande la tilde como directorio HOME del usuario indicado
cd ~ # Accedemos al nuestro HOME
cd ~root # Accedemos al HOME de root
ls ~pepe/cosas/ # Vemos el contenido del directorio cosas de pepe


Expansión aritmética

Permite evaluar expresiones aritméticas enteras

Eliminación del significado especial

bash permite eliminar el significado de los caracteres especiales, usando comillas simples, dobles o \
Carácter Acción
' el shell ignora todos los caracteres especiales contenidos entre un par de comillas simples
" el shell ignora todos los caracteres especiales entre comillas dobles excepto $, `y \
\ el shell ignora el carácter especial que sigue a \
Ejemplos:
ls "/usr/bin/a*"
echo '$PATH'
echo "$PATH"
echo I\'m Pepe

Administración de Sistemas e Redes <ASR.USC[at]gmail.com>
Tomás Fernández Pena <tf.pena[at]usc.es>
Última actualización: 30-09-15 17:44 por tomas

Creative Commons License
Curso de Administración de Sistemas y Redes por Tomás Fernández Pena se distribuye bajo la licencia Creative Commons Recoñecemento-Compartir baixo a mesma licenza. 3.0 España.
Trabajo original en persoal.citius.usc.es/tf.pena/ASR.