PowerShell: Comillas simples VS dobles

Un elemento de PowerShell que muchas veces lleva a confusión es el uso de comillas simples: '' o comillas dobles "".

¿Qué diferencia hay?

Las comillas simples implican que se interprete de forma literal el contenido.

Las comillas dobles permiten añadir elementos dinámicos (variables, código entre paréntesis…).

Comillas simples -> Literal

Comillas dobles -> Interpretado

¿En qué casos debemos usar unas u otras?

Si lo que queremos es una cadena de texto sin interpretaciones debemos usar comillas simples. 

Si necesitamos que en la cadena haya elementos calculados o dinámicos debemos usar comillas dobles.

¿Cuál deberíamos usar por defecto?

Por defecto debemos intentar usar siempre que sea posible comillas simples para evitar posibles interpretaciones indeseadas del texto.

Ejemplos:

Ejemplo1: Cadena de texto sin interpretaciones:

"Pol Bienvenido a SYSADMIT"

Powershell-comillas-simples-vs-dobles
 
'Pol Bienvenido a SYSADMIT'

Powershell-comillas-simples-vs-dobles

Si no usamos variables ni interpretación de texto el resultado es el mismo. 

En estas situaciones siempre es preferible usar las comillas simples.

Ejemplo2: Cadena de texto con elementos dinámicos o calculados (una variable):

Definimos una variable llamada Nombre con el contenido ‘Pol’:

$Nombre = 'Pol'

Powershell-comillas-simples-vs-dobles

Establecemos la cadena usando la variable y entre comillas dobles:

"$Nombre Bienvenido a SYSADMIT"

Powershell-comillas-simples-vs-dobles
 
El resultado es la sustitución de la variable Nombre por Pol.

Por otra parte, si usamos comillas simples:

'$Nombre Bienvenido a SYSADMIT'

Powershell-comillas-simples-vs-dobles

Resumen:

Donde la variable: $Nombre es igual a: Pol

PowerShell: Comillas simples (literal) VS dobles (interpretado)

Pro tip: Mostrar comillas tanto simples como dobles en el contenido de una cadena.

A veces necesitamos mostrar caracteres especiales como $ o las propias comillas, tanto dobles como simples.

Si queremos mostrar caracteres especiales, podemos usar el carácter de acento abierto: `


Ejemplo:

"`’$Nombre`’ Bienvenido a SYSADMIT"

Resultado:

Powershell-comillas-simples-vs-dobles
 
Y lo mismo para comillas dobles:

"`"$Nombre`" Bienvenido a SYSADMIT"

Powershell-comillas-simples-vs-dobles

Esperamos haber despejado vuestras dudas sobre el uso de comillas. 

Como siempre, si tenéis cualquier duda nos podéis escribir en los comentarios.


No hay comentarios:

Publicar un comentario