Citar en bash scripting es un proceso para crear variables o cualquier otro contenedor para que los datos se expandan al valor literal dentro de cualquier string, las citas también se usan para otras operaciones. Hay varios tipos de técnicas de cotización en un script bash. En este artículo, veremos los diferentes tipos de cotización en Bash scripting.
Tipos de cotizaciones en BASH
- Comillas simples
- Doble comillas
- Volver Cotizaciones
Comillas simples :
Al usar comillas simples, la string se analiza tal como está sin ninguna expansión de caracteres dentro de las comillas. Entonces, si tenemos una variable dentro de la string, el valor no se expandirá, sino que los caracteres se analizarán tal como están.
Digamos que tenemos una variable llamada nombre e intentamos hacer eco de su valor dentro de una comilla simple, necesitamos usar $para acceder al valor de la variable. Pero el valor no se imprime y el comando se repite tal como está.
#!/usr/bin/env bash name="Jim" echo 'This is $name, a developer'
Producción:
Por lo tanto, las comillas simples no son buenas si desea usar la expansión variable y otras cosas relacionadas. Puede cerrar las comillas antes de la variable y luego abrirlas nuevamente como concatenación, pero no es bueno para múltiples variables.
Doble comillas:
Para expandir el valor de la variable dentro de una string usamos las comillas dobles. Usando comillas dobles, podemos expandir el valor literal de la variable simplemente anteponiendo el nombre de la variable con $como se dijo anteriormente para acceder al valor con el nombre de la variable.
#!/usr/bin/env bash name="Jim" echo "This is $name, a developer"
Producción:
Entonces, como podemos ver, el valor de la variable se expandió y el comando funcionó como se esperaba. El valor de la variable puede ser cualquier cosa, como números enteros, strings o cualquier carácter que no se pueda expandir más.
No solo la expansión variable, los otros caracteres que son especiales cuando se incrustan entre comillas dobles.
#!/usr/bin/env bash name="Jim" age=23 languages=("python" "javascript" "java" "C" "Rust") echo "This is $name, a $age old developer. ${languages[@]} `pwd` \" Hello WO\orld \" "
Producción:
Entonces, así es como podemos realizar la expansión de variables entre comillas dobles, incluso podemos escapar caracteres entre comillas dobles usando una barra invertida. El operador de barra invertida permite analizar el siguiente carácter tal como es sin considerarlo como un carácter especial para la expansión o como un operador comodín.
Hemos utilizado el nombre y la edad de la variable para demostrar la expansión de diferentes tipos de variables de datos dentro de las comillas dobles. Incluso hemos usado operadores para imprimir la array completa, a saber, ${array_name[@]}. También hemos agregado comillas inversas («) para usar un comando dentro de comillas dobles. Y finalmente, el carácter de barra invertida para escapar de esos caracteres, en este caso las comillas dobles («»). Escapar un carácter es analizar el carácter de tal manera que se trate como un carácter ordinario sin permitir sus operaciones como carácter especial. Algunos caracteres de los que necesita escapar pueden ser $, #, comillas dobles, comillas simples, etc.
Caracteres de escape entre comillas dobles
Para escapar de los caracteres, podemos usar \ antes del carácter para analizarlo tal como es. Por ejemplo, debe imprimir el símbolo $que necesita escribir \$para que funcione como desee dentro de las comillas dobles. Hemos usado \” para escapar de las comillas dobles y por eso, hemos usado comillas dobles dentro de las comillas dobles. Entonces, para analizar el carácter sin sus operaciones especiales, necesitamos usar \ para simplemente imprimirlo.
Comillas traseras (comillas invertidas):
En la sección anterior, hemos usado las comillas inversas para usar los comandos dentro de las comillas dobles. Las comillas inversas nos permiten ejecutar los comandos dentro de un script de shell. No solo se pueden usar dentro de las comillas dobles, sino que se pueden usar de forma independiente en el script.
#!/usr/bin/env bash echo `python --version` echo `cat wh.txt` echo `date`
Producción:
Como podemos ver aquí podemos ejecutar comandos desde el script. Estos son los comandos que se pueden ejecutar dentro del símbolo del sistema, sí, puede usar ciertos comandos como cat, pwd, etc. tal como están en el script, pero no todos los comandos se pueden usar tal como están en el script. Para ejecutar esos comandos podemos usar las comillas inversas («). Estos también se pueden anidar entre comillas dobles como vimos anteriormente en el ejemplo de comillas dobles.
Estas son las técnicas de cotización que usamos en el script de shell para expandir variables, ejecutar comandos y realizar y ejecutar otras operaciones/scripts desde un script de shell. Las comillas se pueden usar para programar ciertos comandos y ejecutarlos/expandirlos cuando sea necesario al incorporar los comandos en las comillas apropiadas.