La diferencia entre comillas y dobles comillas en el shell
Ayer leí un interesante artículo en How-To Geek, sobre el uso de comillas y dobles comillas, que es muy esclarecedor para todos aquellos que hacemos un uso frecuente del terminal, y que vamos aprendiendo a base de teclado y lo que vamos leyendo aquí y allá, sin el uso de ningún manual (craso error).
Esto me lleva a reproducirlo más o menos, con algunos ejemplos adicionales, y mis propias pruebas e interpretaciones.
Entrecomillado de texto
Si lo que entrecomillas es simplemente texto, da lo mismo como lo hagas, es exactamente igual:
mkdir "esto es una prueba" mkdir 'esto es una prueba'
ambas instrucciones crearan un directorio llamado “esto es una prueba”. Otra manera de hacer la misma operación es:
mkdir esto\ es\ una\ prueba
Expansión de variables
La diferencia entre el encomillado sencillo y doble toma su importancia cuando tratamos con variables en la línea de comando, de forma que el shell expande una variable en su contenido cuando se ejecuta, es decir:
prueba="Esto es una prueba"
Ahora ya puedes utilizar esta variable en la línea de comandos, de forma que cuando tu ejecutes este comando:
echo $prueba
El terminal te devolverá: Esto es una prueba
Aquí es donde se puede ver la diferencia entre comillas y dobles comillas. Si ejecutas:
echo '$prueba'
el terminal de devoverá: $prueba
Sin embargo ejecutando:
echo"$prueba"
lo que te devolverá el terminal será: Esto es una prueba
En pocas palabras con las dobles comillas se sustituye la variable por su contenido
Un paso más allá, ejecución de comandos
Sin embargo, cuando utilizas ` lo que haces es ejecutar un comando en otro comando, por ejemplo si quieres utilizar el comando “pwd” en otro comando, deberías hacerlo de esta manera:
echo `pwd`/prueba
que en el caso de estar en mi directorio, daría como resultado: /home/atareao/prueba
Este mismo resultado lo puedes obtener ejecutando esta línea:
echo "`pwd`/prueba"
donde hemos “envuelto” todo entre dobles comillas, sin embargo si lo hacemos con simples comillas encotraremos como salida `pwd`/prueba
Resumiendo
- Dobles comillas
- Usar dobles comillas cuando se encierran variables o se utilizan comandos envueltos en “
- Todos los carácteres se intrepetan tal y como son, excepto $ y ` que serán expandidos en el shell
- Simples comillas
- Todos los caracteres son interpretados como una tal y como son
Vía | How-To Geek
Popularity: 5% [?]
Artículos relacionados...
-
ulysess
-
http://twitter.com/SebaMinguez Sebastian Dominguez




