Bash for Dummies n.° 2: ¿Por qué variables?

En, Repasé cómo se puede ejecutar un básicoscript pero con variables, obtienes mucho control sobre tus scripts bash.

Abra su terminal y ejecute la línea dada para anunciar una variable en su terminal:

myname="Kabir"

Aquí, he declarado una variable llamadamynameque contiene un textoKabir. ¿Pero por qué hice eso en primer lugar? Bueno, ahora cada vez que necesito usarKabiren la terminal, puedo imprimir el valor de la variable.

Para imprimir el valor de la variable, puede usar el comando echo junto con el nombre de la variable que comienza con un signo de dólar ($) como se muestra aquí:

echo $variable-name

Pero bueno, este no es el uso más práctico de las variables, ya que son solo variables temporales y se borrarán una vez que cierres la terminal.

El uso real de las variables comienza con el script. Entonces, echemos un vistazo a cómo puedes usar variables en un script bash.

Cómo usar variables en un script bash

Primero, abre tu terminal yllamadovariable.shusando el comando dado:

nano variable.sh

Ahora, declaremos algunas variables aquí. Usaré dos variables que tendrán mi nombre y edad y luego imprimiré el valor de la variable usando el comando echo:

#!/bin/bash

name="Kabir"
age="27"

echo "Hello everyone, my name is $name."
echo "I'm pretty young and my age is $age."

Si no tiene sentido, espera y pega las líneas en el nano editor,editor.

Finalmente,usando el comando chmod y ejecutar. La salida se vería así:

Aquí hay dos cosas de las que debes tomar nota.

  • Cómo utilicé el valor de las variables en una oración:Cuando desee incluir el valor de una variable en una oración impresa usando elechocomando, incluya la oración completa entre comillas dobles (" "). Esto permite que el shell interprete y expanda variables dentro de la cadena.
  • La sintaxis que utilicé para imprimir las variables.: Para declarar una variable en el shell, use el formatovariable_name="variable_value". Tenga en cuenta que no debe haber espacios alrededor del signo igual. Cuando desee utilizar el valor de una variable, anteponga el nombre de la variable con un signo de dólar ($).

Tomemos otro ejemplo (y más práctico).

Usar una variable varias veces

Me encuentro usando una variable muchas veces en un script, por lo que en el futuro, si quisiera cambiar el significado de un script, todo lo que tendría que hacer es cambiar el valor de una variable.

Abra su terminal nuevamente y cree un nuevo script llamadogreetings.sh:

nano greetings.sh

Ahora, pegue las siguientes líneas de código en el archivo:

#!/bin/bash

greeting="Hello"

echo "$greeting, world!"
echo "I said $greeting!"
echo "Why don't you say $greeting back?"
echo "Is $greeting too formal?"
echo "Maybe we should stick with $greeting for now."
echo "Anyway, $greeting and welcome to our script!"

Ahora guarde el archivo, salga del editor y ejecute el script. La salida debería verse así:

Como puedes ver, he usado elgreetingvariable varias veces que contenía la palabra "Hola" y esa es la razón por la que verá el uso de "Hola" varias veces.

Ahora, si quiero cambiar toda la reunión de la salida, todo lo que tengo que hacer es cambiar el valor delgreetingvariable.

Por ejemplo, aquí he cambiado el valor degreetingvariable deHelloaSorry:

#!/bin/bash

greeting="Sorry" #Changed the value of the greeting variable to Sorry

echo "$greeting, world!"
echo "I said $greeting!"
echo "Why don't you say $greeting back?"
echo "Is $greeting too formal?"
echo "Maybe we should stick with $greeting for now."
echo "Anyway, $greeting and welcome to our script!"

Ahora, si ejecuto el mismo script, el significado del resultado será completamente diferente:

Cómo utilizar la salida del comando en un script bash

A partir de aquí, serás testigo del uso real de los scripts de bash, ya que he escrito muchos scripts y la mayoría de ellos utilizan la salida de comandos de una forma u otra.

Primero, déjame mostrarte cómo puedes hacerlo en la ventana de la terminal y luego pasaré al script.

Para utilizar la salida del comando como variable, debe seguir la sintaxis proporcionada:

variable_name=$(command)

Por ejemplo, si quiero almacenar la salida dellscomando en ellistvariable, entonces usaré lo siguiente:

list=$(ls)

Ahora, puedo usar el comando echo para imprimir el valor dellistvariable y debería imprimir la salida dellistdominio:

echo $list

Ahora que conoce la sintaxis, vayamos al script. Crea un nuevo archivo llamadocommand.sh:

nano command.sh

A continuación, pegue las siguientes líneas en el archivo (lo explicaré en un momento):

#!/bin/bash

name="Kabir Thapar"
now=$(date)

echo "Hello $name"
echo "The system date and time is:"
echo $now
echo "Logged-in username is: $USER"

Finalmente, guarde el archivo y salga del nano editor. Asegúrese de que el archivo sea ejecutable y ejecute el script. La salida se vería así:

Aquí hice dos cosas diferentes:

  • guardé eldatesalida del comando en elnowvariable y más tarde utilicé el comando echo para imprimir el valor de lanowvariable.
  • Al final utilicé elUSERvariable, que ni siquiera declaré y aún así imprimió mi nombre. ¿Cómo? Usé una variable de entorno.

Variables ambientalesson variables predeterminadas disponibles en Linux que almacenan información crítica sobre un sistema y en su mayor parte, están en mayúsculas para que el usuario pueda diferenciar entre una variable creada por el usuario y una variable de entorno.

Además, hay cientos de variables de entorno disponibles en Linux. Puede enumerar las variables de entorno disponibles utilizando elenvdominio:

env

Siguiente: Aprenda a usar if-else en Bash

En la siguiente parte de esta serie, explicaré cómo se puede utilizar una declaración de condición if-else mediante la cual se puede controlar el flujo del script y tomar decisiones correctas.

Si le gustan estos tutoriales, le agradeceríamos compartirlos con alguien que esté intentando aprender el script bash.

Related Posts