Uso de comillas, doble comillas y acento grave en Linux

Aprendemos a utilizar las comillas, doble comillas y el acento grave en sistemas GNU/Linux, cuando queramos elaborar nuestros queridos scripts (guiones), independientemente de la shell que utilicemos, ya sea Bash, Zsh u otras.

Diferencia entre comillas y doble comillas en Linux

En lo que respecta a las comillas simples, se utilizan para obtener un valor literal; en cambio las comillas dobles se utilizan para obtener un valor interpretado, sustituyendo el valor literal por el valor obtenido, esto es, su contenido.

Veamos un ejemplo, primero del uso de las comillas simples:

$ echo '$(echo "hola")'

Con el resultado:

$(echo "hola")

En cambio, con el uso de las comillas dobles:

$ echo "$(echo "hola")"

Obtenemos el resultado:

hola

Uso del acento grave

El acento grave se utiliza como sustitución de orden y permite usar la salida estándar para asignarla a una variable.

La sustitución de orden se puede utilizar dos maneras, y una de ellas, como podemos ver, es utilizando los acentos graves:

  • `comando`
  • $(comando)

El uso del acento grave esta en desuso, por mi experiencia se utiliza mucho más la sustitución de orden con el dólar y los paréntesis. De hecho, los scripts que utilizan esta última forma son mucho más legibles.

Veamos un ejemplo:

  • echo -e  "El número de conexiones reales son: $(lsof -i :443 | grep -v LISTEN | wc -l)"
  • echo -e  "El número de conexiones reales son: `lsof -i :443 | grep -v LISTEN | wc -l`"

Con el resultado en ambos casos:

El número de conexiones reales es: 34

Y esto es todo. Últimamente no tengo mucho tiempo para escribir, por lo menos intento no perder el ritmo. Espero que esta entrada os pueda servir en algún momento. Nos vamos leyendo.