Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Monografías / Fundamentos de BASH - Entrecomillado

Fundamentos de BASH - Entrecomillado

 ****- (9 opiniones)
Creative Commons Monografía de David F. Madrid - 11 de Octubre de 2005
Temas Relacionados: Linux
6. Entrecomillado
Una característica de la shell BASH que nos puede ayudar a construir comandos y scripts más potentes es el entrecomillado. Debido a que la BASH puede usar nombres simbólicos(variables) que representan valores como el path del usuario, el path del directorio personal,etc el entrecomillado se hace necesario. En BASH o shells parecidas hay tres tipos de entrecomillado, simple, doble e invertido que se pueden combinar. Vamos a verlo con ejemplos:

Entrecomillado simple

Se llama globalización de nombres de archivo a una característica del intérprete de comandos que permite referirse a todos los archivos contenidos por ejemplo en un directorio usando un comodín como el carácter *.

Ej:

# ls $HOME/*


Aquí vemos dos cosas comentadas, la utilización de nombres simbólicos($HOME) y la de comodines(*). Ese ejemplo lista todos los archivos del directorio personal del usuario que ejecute el comando. ¿ Pero que ocurre si tenemos un archivo de nombre * y sólo queremos listar ese archivo y no todo el contenido del directorio que lo contiene ? En ese caso, lo solucionamos incluyendo el carácter comodín entre comillas simples para que el intérprete de comandos tome ese carácter como un literal y no como un comodín.

Ej:

# ls $HOME/'*'


El entrecomillado simple nos sirve para hacer que el intérprete de comandos tome lo encerrado entre él como una expresión literal, ya sean variables, comodines u otras expresiones entrecomilladas.

Entrecomillado doble

El entrecomillado doble nos permite evitar la globalización de archivos(los comodines), pero no afecta a variables u otras expresiones entrecomilladas que se encuentren dentro.

Ej:

# ls "$PATH"
ls: /usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin: No such file or directory


Ej:

# touch *
# ls "*"
*


Como vemos la variable $PATH se sutituye por su valor real, mientras que el comodín es tomado como un literal.

Entrecomillado inverso

Sin duda es el más interesante ya que es el que permite construir comandos tomando como argumentos la salida de otro comando entrecomillado entre comillas inversas`

Ej:

# ls `perl -e 'print "A"x1000'`


Lo cual como veis viene genial para buscar desbordamientos de buffer aunque sin duda se le pueden dar más utilidades menos destructivas. Como podeis observar dentro del entrecomillado invertido hay otras comillas pertenecientes a la sintaxis del comando perl, estas son tratadas como literales.

Sencuencias de escape

Las secuencias de escape es otra forma de hacer que el intérprete considere UN carácter como literal. Para utilizarlas utlizamos \ delante del carácter que queramos escapar.Nótese la diferencia entre:

# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin


y

# echo \$PATH
$PATH


Los entrecomillados y sencuencias de escape pueden anidarse teniendo en cuenta que algunos "anulan" los efectos de otros entrecomillado que se encuentren dentro.
Autor y licencia de 'Fundamentos de BASH - Entrecomillado'
David F. Madrid Extraído de: http://www.nautopia.net/archives/es/linux_administracion/fundamentos_de_bash/introduccion.php

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
This article is licensed under a Creative Commons License
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Fundamentos de BASH - Entrecomillado'

Resulta hasta intelectualmente chocante para una mayoría que a principios de este siglo veintiuno alguien,... Más »
Si se consulta en Wikipedia la definición de algoritmo, se entiende que éste es un... Más »
Cuando hablamos de un sitio web nos estamos refiriendo en realidad a un conjunto de... Más »
Acorde con los cambios y modernización que se han venido realizando en las Empresa a... Más »
El tema de lo sagrado cual se lee en estas fuentes secretas, cuyos autores estan... Más »
¿Estás seguro de que deseas eliminar este capítulo?