Bash le permite mapear cadenas completas de texto a variables individuales, simplificando su uso y escritura de scripts. ¿Cómo funcionan y cómo se pueden utilizar? Vamos a averiguar.
¿Qué es una variable?
Las variables son nombres fáciles de recordar que pueden contener diferentes valores alfanuméricos. Son útiles porque permiten que se aplique la misma función en diferentes valores, sin tener que reescribir un script / fragmento de código. También facilitan la escritura del script / fragmento de código, ya que en lugar de tratar con valores individuales, puede usar el mismo nombre para todos ellos.
Variables en tiempo real
Bash permite el uso de variables. Puede crear variables sobre la marcha y reutilizarlas durante su sesión actual de Bash. Pueden ayudarlo a usar Bash de muchas maneras diferentes, y desaparecerán después de que finalice la sesión actual.
Por ejemplo, digamos que está visitando varios sitios. Podría estar investigando o extrayendo datos. Podría crear la siguiente variable:
sitea=https://www.maketecheasier.com
Después de eso, si desea visitar nuestro sitio con Firefox, simplemente escriba:
firefox $sitea
Mucho más fácil y más legible. los $sitea
La variable permanecerá asignada al sitio hasta que cambie su contenido manualmente o finalice la sesión de Bash. Y, por supuesto, puede crear más variables, como siteb
, sitec
y sited
.
Al configurar nuevas variables, puede utilizar los nombres que desee y almacenar cadenas alfanuméricas en su interior. Sin embargo, tenga en cuenta que distinguen entre mayúsculas y minúsculas de forma predeterminada. Así, $sitea
no seria lo mismo que $SiteA
. Además, tenga en cuenta que debe utilizar comillas al almacenar cadenas con caracteres especiales dentro de ellas (incluidos los espacios).
Variables en secuencias de comandos
Las variables en Bash son más útiles al escribir scripts, ya que le permiten escribir un solo script, que luego puede iterar a través de diferentes cadenas o actuar sobre datos personalizados. Digamos que está escribiendo un guión que todos podrían usar en su computadora, pero cada vez mostraría un saludo personalizado. Sin variables, tendría que escribir una versión diferente del script para cada usuario. Con las variables, mantienes el script igual y solo cambias el nombre del usuario.
Tal secuencia de comandos tendría el siguiente aspecto:
#!/bin/bash username=Odysseas echo $username
El ejemplo anterior puede parecer redundante; sin embargo, a medida que aumenta la complejidad del código, las variables se vuelven indispensables. Un script puede tener cientos o miles de líneas y contener el nombre del usuario en diferentes lugares. Para comprenderlo mejor, considere la siguiente secuencia de comandos algo diferente:
#!/bin/bash username=Linus echo Hello $username. This is a simple script I wrote that will repeat your name - that is, $username - often as an actual example of how to use Bash variables. I hope it will make it easier to understand how to use variables to improve your Bash workflow, $username. In this case, the variable username is mapped to your name. Whenever Bash runs into it, it replaces it with $username.
El script anterior utilizará el nombre definido como username
variable para completar el texto. Si usa el nombre del usuario real, tendrá que escribirlo cuatro veces. Luego, haga lo mismo para el siguiente usuario y otras cuatro veces para el siguiente. Una y otra vez. Al asignarlo a una variable, solo tiene que cambiarlo una vez para cada usuario, y se actualizará cada mención del nombre del usuario en el texto.
Variables y alias de Bash permanentes
Vimos cómo puede establecer variables temporalmente y cómo, para algo más permanente, puede incluirlas en sus propios scripts. ¿No es posible, sin embargo, establecer variables de forma permanente en Bash? La respuesta es un gran «¡sí!» y solo tienes que editar un único archivo: “~ / .bashrc”.
Abra el archivo «~ / .bashrc» en su editor de texto favorito. Como prefiero nano, lo hice con:
nano ~/.bashrc
Le sugerimos que comience con una ejecución de prueba, agregando solo una variable, para que sepa dónde buscar si el proceso no funciona. Vaya al final del archivo y, en una nueva línea, agregue su variable. Por ejemplo, establezco una variable para mi nombre como:
myname="Odysseas Kourafalos"
Guarde su archivo y salga del editor. Los ajustes no se aplicarán de inmediato. Ingrese lo siguiente en su terminal para que surta efecto:
source ~/.bashrc
Ahora puede hacer uso de la variable recién configurada en su sesión de Bash:
echo $myname
Puede configurar tantas variables como desee y simplificar enormemente sus aventuras diarias en Bash.
Para un impulso adicional en la productividad, también vale la pena configurar un tipo diferente de variable: alias. A diferencia de las variables típicas, que se asignan a datos que puede utilizar en los comandos, se utilizan alias en lugar de los comandos reales.
Al igual que puede usar una variable fácil de recordar para contener largas cadenas de texto, puede usar alias como alternativas fáciles a los comandos complejos. Puede encontrar más sobre ellos aquí, donde convertimos un comando de compresión 7zip completo en un alias de dos caracteres.
Como nota final, incluso si ha configurado permanentemente una variable en .bashrc, puede reasignarle un valor diferente temporalmente, como vimos antes. La variable presentará el nuevo contenido hasta que finalice la sesión actual de Bash (después de cerrar la sesión o reiniciar) o volver a obtener el archivo .bashrc.