Diferencia entre comillas simples y comillas dobles

Diferencia entre comillas simples y comillas dobles en bash.

El uso de las comillas simples y las comillas dobles, es una práctica común cuando trabajamos en Linux. Incluso podríamos afirmar que su uso es prácticamente obligatorio, al operar con scripts shell o, al ejecutar cierto tipo de comandos o combinaciones de ellos directamente en línea de comandos.

Muchos usuarios noveles los pueden llegar a confundir, incluso alguno afirma que son lo mismo. Ni mucho menos amigo, si bien es cierto que en algunas situaciones pueden operar de la misma forma, no siempre es así. Existe una gran diferencia entre uno y otro y la forma que la shell bash las interpreta.

En este mini articulo de hoy, veremos las principales diferencias existentes entre ellos y su forma de operar.

 

Diferencia entre comillas simples y comillas dobles

La diferencia principal la podemos resumir en una sola frase, las comillas dobles permiten la expansión de variables dentro de las comillas y las comillas simples no, estas últimas leen su contenido literalmente. Lo explicamos un poco mejor.

Comillas simples y comillas dobles en bash

Comillas simples y comillas dobles en bash

 

Comillas simples

Las comillas simples mantienen el valor literal de cada carácter incluido en las comillas. Para que me entiendas un poco mejor, bash interpretará el texto incluido entre comillas simples literalmente, sin saltarse ni ejecutar nada. En este aspecto se incluyen variables, comillas inversas, escapes, etc.

Ningún carácter incluido en la comilla simple, tiene un significado especial. Esto se utiliza cuando no queremos usar caracteres de escape, para cambiar la forma en que bash interpreta la cadena de entrada.

 

Comillas dobles

Por otro lado tenemos a las comillas dobles, que en realidad son similares a las comillas simples excepto que permiten a la shell interpretar el signo de dólar ($), la tilde invertida (`), la barra invertida (\) y, el signo de exclamación (!).

Cuando usamos comillas dobles, todos los caracteres tienen un significado especial y, antes de mostrarse o ejecutarse, se evalúan. Se permite usar una comilla doble dentro de otra comilla, siempre que esté precedida de una barra invertida.

 

Ejemplo de diferencia

Si por ejemplo ejecutamos lo siguiente…

resultado=10

Podemos imprimir el resultado usando comillas dobles, con este comando.

echo "$resultado"

Ejemplo de salida…

sergio@sololinux:~$ resultado=10
sergio@sololinux:~$ echo "$resultado"
10
sergio@sololinux:~$

Ahora bien, si sustituimos las comillas dobles por comillas simples, estas no tienen la capacidad de ofrecernos el resultado que indica el símbolo del dólar. Se limitan a leer indiscriminadamente todo el texto y su simbología. Vemos el ejemplo.

echo '$resultado'

Nos imprime…

sergio@sololinux:~$ echo '$resultado'
$resultado
sergio@sololinux:~$

 

En palabras que se incluyen comillas, con las comillas simples también tenemos un problema de lectura.

echo 'Adobe isn't open source'

Se abre la consola esperando alguna orden.

sergio@sololinux:~$ echo 'Adobe isn't open source'
> 
>

Como último ejemplo, vemos el resultado correcto usando comillas dobles.

echo "Adobe isn't open source"

Imagen de ejemplo.

Uso de comillas en bash

Uso de comillas en linux bash

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

Chat de SoloLinux en Telegram

 

2 Comentarios

  1. Carlos Solano Ramírez
    26/07/2021
    • Sergio G.B.
      26/07/2021

Agregar comentario

1 logo sololinux

Suscríbete a SoloLinux

Recibe todos los nuevos artículos es tu correo electrónico

You have Successfully Subscribed!

Ir al contenido