Está en la página 1de 9

11/9/23, 1:16 AM Qué son las variables en Bash y cómo usarlas en Linux

TUTORIALES menu

Desarrollo Web Sep 28, 2023 Luis J. 7min Leer

Cómo utilizar variables en Bash

Cualquier lenguaje de programación viene con su propio conjunto de variables. Son una parte esencial de
cualquier sistema y se necesitan para ejecutar incluso los programas más simples.

Con las variables los usuarios pueden almacenar cualquier información, como números o fechas, así como
cadenas, respuestas a preguntas, caracteres alfanuméricos, su información, o incluso elementos array.

Bash no es la excepción y también viene con variables. Es una shell Unix que lee comandos de shell y los
utiliza para interactuar con tu computadora física o un servidor privado virtual (VPS).

Este tutorial cubrirá todos los diferentes tipos de variables en bash y proporcionará algunos ejemplos
prácticos de cómo puedes usarlos.

Tabla de Contenidos
¿Qué son exactamente las variables en Bash y cómo funcionan?

Tipos de variables Bash

Trabajando con variables en Bash


Cómo utilizar variables en guiones Bash

Cómo trabajar con variables especiales

Cómo crear tus variables en Bash

Cómo trabajar con variables de entorno

Cómo exportar variables en Bash

Cómo citar variables en Bash

Cómo usar el comando de sustitución en Bash

https://www.hostinger.com.ar/tutoriales/variables-en-bash?ppc_campaign=google_search_generic_hosting_all&bidkw=defaultkeyword&lo=1000126&gad_source=1&gclid=EAIaIQobChMI4f323MavggMV77ZaBR2e… 1/13
11/9/23, 1:16 AM Qué son las variables en Bash y cómo usarlas en Linux

¿Qué son exactamente las variables en Bash y cómo


TUTORIALES menu
funcionan?
Una variable bash actúa como almacenamiento temporal para una cadena o un número. Las variables Bash
son importantes cuando se trata de scripting en Bash. También facilitan a los usuarios escribir funciones
complejas y realizar diversas operaciones.

Los usuarios pueden crear variables dándoles un nombre y un valor. Un nombre puede ser cualquier cosa.
Sin embargo, no puede empezar con un número y no puede contener espacios, solo guiones bajos si es
necesario.

En cuanto al valor, puede ser cualquier cadena de texto o número. Se recomienda mantener el nombre de la
variable similar a su valor, ya que es más fácil de recordar y diferenciar entre otras variables.

Estas son algunas otras advertencias de sintaxis que vale la pena mencionar:

Aunque no es posible poner números al inicio de las variables, los usuarios pueden hacer que la
primera o cualquier letra en un nombre de variable sea mayúscula.
Las variables de Bash distinguen entre mayúsculas y minúsculas, lo que significa que mivariable y
MiVariable se considerarán diferentes.
Cuando un usuario necesita referirse a una variable, la debe «imprimir». En otras palabras, necesitas
agregar un símbolo de $ antes de su nombre. De esta manera, bash sabrá que el usuario quiere
utilizar el valor de una variable.
Siempre que un usuario necesite crear una variable o modificar su valor, no es necesario el símbolo $,
solo el nombre real.
Normalmente, la manipulación de variables se usa en scripts de bash, bucles y arrays. Sin embargo,
es posible especificar y utilizar variables sin scripts, solo hay que declararlo en la línea de comandos.

Tipos de variables Bash


Bash viene en dos tipos de variables: definidas por el sistema y definidas por el usuario. Analicemos en
mayor detalle:

Variables definidas por el sistema: como sugiere el nombre, bash ya viene con un conjunto de
variables, que también se pueden llamar variables de entorno. Todas pueden ser utilizadas por todos
los scripts de bash ya que están definidas por el sistema:

Variable Ejemplo Función

Define el nombre
SHELL /bin/bash de la interfaz
utilizada

Muestra el
PWD /root directorio de
trabajo actual

Define el nombre
LOGNAME root del usuario
registrado

Define el
MOTD_SHOWN pam mensaje del día
para el sistema

Directorio
HOME root principal del
usuario

https://www.hostinger.com.ar/tutoriales/variables-en-bash?ppc_campaign=google_search_generic_hosting_all&bidkw=defaultkeyword&lo=1000126&gad_source=1&gclid=EAIaIQobChMI4f323MavggMV77ZaBR2e… 2/13
11/9/23, 1:16 AM Qué son las variables en Bash y cómo usarlas en Linux

Se usa para
TUTORIALES
establecer los menu
colores en los
LS_COLORS rs=0:di=01;34:ln=01;36:mh=00:pi=40; que se mostrarán
los nombres de
archivos para el
usuario

Información de
conexión SSH [IP
del usuario]
185.185.185.185 54321 [puerto del
SSH_CONNECTION
185.185.185.186 12 usuario] [IP de la
máquina Linux]
[puerto de la
máquina Linux]

Usado para
llamar al
LESSCLOSE /usr/bin/lesspipe %s %s
postprocesador
de entrada

Define el tipo de
TERM xterm-256color
terminal

Utilizado para
llamar al
LESSOPEN /usr/bin/lesspipe %s
posprocesador
de entrada

Nombre del
USER root
usuario actual

Muestra el
número de
niveles de shell
SHLVL 1
en los que se
está ejecutando
el shell actual

Información del
cliente SSH [IP
del usuario]
SSH_CLIENT 185.185.185.185 54321 12 [puerto del
usuario] [puerto
de la máquina
Linux]

Define los
directorios que se
deben buscar
PATH /usr/local/sbin
para que bash
encuentre un
comando

https://www.hostinger.com.ar/tutoriales/variables-en-bash?ppc_campaign=google_search_generic_hosting_all&bidkw=defaultkeyword&lo=1000126&gad_source=1&gclid=EAIaIQobChMI4f323MavggMV77ZaBR2e… 3/13
11/9/23, 1:16 AM Qué son las variables en Bash y cómo usarlas en Linux

Muestra la ruta al
TUTORIALES
dispositivo menu
SSH_TTY /dev/pts/0_=/usr/bin/printenv asociadocon la
consola actual o
comando

Los usuarios siempre pueden verificar la lista de variables definidas por el sistema utilizando los comandos
env o printenv.

Variables definidas por el usuario: estas son variables establecidas y modificadas por el usuario.
También pueden ser llamadas variables locales y solo son visibles dentro del bloque de código. A
diferencia de las variables de entorno, las definidas por el usuario solo funcionan para ese script en
particular.

Trabajando con variables en Bash


Bash permite a los usuarios definir y manipular variables tanto en scripts de bash como en la línea de
comandos. Echemos un vistazo rápido a ambos ejemplos:

Línea de comandos

Crearemos una variable miusuario y comprobaremos qué shell está utilizando.

Script de Bash

Una forma más conveniente de manipular variables es con la ayuda de un script de bash. Crearemos el
mismo script en la línea de comandos pero utilizando un script de bash. Empieza creando un archivo con tu
editor de texto preferido:

nano miscript.sh

Luego, pega los siguiente:

https://www.hostinger.com.ar/tutoriales/variables-en-bash?ppc_campaign=google_search_generic_hosting_all&bidkw=defaultkeyword&lo=1000126&gad_source=1&gclid=EAIaIQobChMI4f323MavggMV77ZaBR2e… 4/13
11/9/23, 1:16 AM Qué son las variables en Bash y cómo usarlas en Linux

#!/bin/bash
TUTORIALES
miusuario="minombre" menu
echo mi usuario es $miusuario y mi shell es $SHELL

Por último, ejecuta el script:

bash miscript.sh

Cómo utilizar variables en guiones Bash


Las variables de bash se utilizan habitualmente en la programación de scripts de bash. Los usuarios pueden
definir todo tipo de variables y usarlas en scripts automatizados.

Cuando se ejecutan, estos scripts pueden realizar miles de operaciones con un solo clic, lo que los hace
especialmente útiles para tareas de automatización o para ahorrar tiempo escribiendo comandos similares
manualmente.

Empecemos con un ejemplo sencillo. Comienza creando un script con tu editor de texto favorito. Vamos a
utilizar nano en este caso:

nano script.sh

Luego, pega los siguiente:

#!/bin/bash
mivariable="Me encantan los lenguajes de programación y la declaración de variables"
echo $mivariable

La primera línea define el shell que vamos a utilizar. En nuestro caso, será un shell bash.

Luego, el script creará una nueva variable llamada mivariable. Ten en cuenta que para asignar una nueva
variable, necesitarás usar un signo igual (=).

Usaremos el comando echo para imprimir el valor de la variable. También necesitamos usar un signo de
dólar ($), para que bash sepa que necesitamos el valor de una variable.

Por último, ejecuta el script utilizando este comando:

bash script.sh

Como se muestra en el ejemplo anterior, el comando ejecuta todo el script y bash realiza todas las acciones
especificadas por el usuario en el sistema.

Cómo trabajar con variables especiales


Bash viene con varios caracteres especiales, también llamados variables especiales. La siguiente tabla te
los mostrará todos:

Variable
Explicación
especial

https://www.hostinger.com.ar/tutoriales/variables-en-bash?ppc_campaign=google_search_generic_hosting_all&bidkw=defaultkeyword&lo=1000126&gad_source=1&gclid=EAIaIQobChMI4f323MavggMV77ZaBR2e… 5/13
11/9/23, 1:16 AM Qué son las variables en Bash y cómo usarlas en Linux

$@ Almacena argumentos como un array


TUTORIALES menu
$$ Muestra el ID del proceso de la shell actual

Muestra el número de argumentos proporcionados en un


$#
determinado script

$* Agrupa todos los argumentos dados conectándolos

$! Muestra el ID del último trabajo en segundo plano

Muestra el código de estado de salida para el último comando


$?
ejecutado

$0 Muestra el nombre del archivo del script actual

$_ Asigna la variable al último argumento del último comando

Muestra las banderas actualmente utilizadas en la shell de


$-
bash

$1-${11} Almacena datos de los primeros 11 nombres de argumentos

Vamos a usar algunos de estos caracteres especiales y hacer un script de ejemplo con ellos. Empieza
creando un archivo de script:

nano caracteresespeciales.sh

El siguiente código mostrará la funcionalidad de las variables especiales $0, $*, and $$ :

#!/bin/bash
#Crear una nueva variable
mivariable="Escribir argumentos de línea de comandos es divertido"
#Conectar variables con comillas dobles
echo "Yo soy" "una variable" "en bash"; $*
#Mostrar el id de proceso del shell actual
echo $$
#Mostrar el nombre de archivo de este script
echo $0
#Imprimir el valor de mivariable
echo $mivariable

Primero declaramos una nueva variable, luego usamos el primer parámetro para conectar las cadenas con
comillas dobles en una sola. Luego, utilizamos los caracteres especiales restantes para mostrar el ID de la
terminal actual y el nombre del archivo de terminal que ejecutamos.

Cómo crear tus variables en Bash


Cualquier variable que crees aparte de las variables de entorno se considera tuya. En otras palabras, solo
funcionará dentro de tu script.

https://www.hostinger.com.ar/tutoriales/variables-en-bash?ppc_campaign=google_search_generic_hosting_all&bidkw=defaultkeyword&lo=1000126&gad_source=1&gclid=EAIaIQobChMI4f323MavggMV77ZaBR2e… 6/13
11/9/23, 1:16 AM Qué son las variables en Bash y cómo usarlas en Linux

Ten en cuenta que las variables no pueden comenzar con un número ni contener espacios. Sin embargo, se
permiten guiones bajos y letras mayúsculas. Vamos a crear un ejemplo de script bash con diferentes tipos
TUTORIALES
de nombres de variables:
menu

nano diferentesvariables.sh

Luego, pega lo siguiente:

#!/bin/bash
nombrevariable="Las variables locales en bash son increíbles"
Nombrevariable="También se admiten valores numéricos 123"
NombreVariable="4 5 6"
Nombre_Variable="Configurar variables es divertido"
Nombre_Var3="Bash también realiza la división de palabras por lo que cualquier espacio
será eliminado 1 2 3 4"

echo $nombrevariable
echo $Nombrevariable
echo $NombreVariable
echo $Nombre_Variable
echo $Nombre_Var3

Nuestro ejemplo muestra que incluso si los nombres de las variables son similares, todos se interpretan
como variables separadas.

Cómo trabajar con variables de entorno


Las variables de entorno pueden ser utilizadas por todos los scripts bash en un sistema dado. A diferencia
de las variables locales, las variables de entorno se establecen automáticamente por el sistema. Siempre se
escriben con letras mayúsculas, lo cual es una de las principales indicaciones de que los usuarios están
utilizando variables de entorno.

Por ejemplo, el siguiente script mostrará cuatro parámetros esenciales que los administradores de sistemas
pueden usar al gestionar sistemas: tipo de shell, directorio de trabajo actual del usuario, directorio principal
y nombre real del usuario.

#!/bin/bash
echo "Este usuario está usando el shell $SHELL"
echo "Su directorio de trabajo es: $PWD"
echo "Mientras que su directorio de inicio es: $HOME"
echo "Y el nombre de usuario es: $USER"

Cómo exportar variables en Bash


Exportar variables en bash permite a los usuarios utilizar dichas variables entre diferentes instancias de
shell secundarias. Para exportar variables, primero, necesitamos crear una variable de prueba:

hola=mundo

https://www.hostinger.com.ar/tutoriales/variables-en-bash?ppc_campaign=google_search_generic_hosting_all&bidkw=defaultkeyword&lo=1000126&gad_source=1&gclid=EAIaIQobChMI4f323MavggMV77ZaBR2e… 7/13
11/9/23, 1:16 AM Qué son las variables en Bash y cómo usarlas en Linux

Ahora, si fueras a imprimir esta variable, funcionaría perfectamente:


TUTORIALES menu
echo "$hola"

Ahora, usa el comando de exportación para exportar la variable hola y cambia a una nueva instancia de
shell:

export hola
bash
echo "$hola"

Por ejemplo, si hubieras dejado de lado el comando export, no habría ninguna salida visible.

Cómo citar variables en Bash


Las comillas juegan un papel esencial en la terminal bash. Dependiendo de si usas comillas dobles («) o
comillas simples (‘), puede cambiar el resultado.

Por ejemplo, crearemos dos scripts, uno usando comillas dobles y el otro usando comillas simples. Empieza
a crear el script de bash pegando el siguiente comando:

nano comillasdobles.sh

Ahora, pega lo siguiente:

#!/bin/bash
comillasdobles="Me gusta escribir argumentos de línea de comandos"
echo "Las comillas dobles funcionan así: $comillasdobles"

Luego, crea otro script de bash:

nano comillassimples.sh

Finalmente, usa el siguiente comando:

#!/bin/bash
comillassimples="Las variables de string son lo mejor"
echo 'Las comillas simples funcionan así: $comillassimples'

https://www.hostinger.com.ar/tutoriales/variables-en-bash?ppc_campaign=google_search_generic_hosting_all&bidkw=defaultkeyword&lo=1000126&gad_source=1&gclid=EAIaIQobChMI4f323MavggMV77ZaBR2e… 8/13
11/9/23, 1:16 AM Qué son las variables en Bash y cómo usarlas en Linux

TUTORIALES menu

Las comillas dobles muestran el valor real de la variable, como se ve en los ejemplos. En contraste, las
comillas simples solo muestran el nombre de la variable.

Cómo usar el comando de sustitución en Bash


La sustitución de comandos es una forma de ejecutar un comando y utilizar su resultado como un nuevo
argumento o parte de otro comando.

Por ejemplo, usemos la sustitución para crear 10 archivos con la ayuda de un comando de secuencia y los
caracteres especiales $( ):

touch $(seq 1 10)

Los caracteres especiales de sustitución $( ) permiten que se ejecute el comando touch simultáneamente,
resultando en un comando que crea 10 archivos vacíos.

Conclusión
Al igual que la mayoría de los lenguajes de programación, bash viene con sus propias variables, clasificadas
como locales y variables de entorno. Los usuarios pueden utilizarlas para crear scripts para automatizar
tareas o realizar varias otras acciones en la terminal bash.

En este tutorial cubrimos todos los diferentes tipos de variables y también proporcionamos algunos
ejemplos útiles de cómo pueden ser utilizadas en escenarios reales en tu servidor físico o virtual.

Esperamos que la información haya sido útil. Si tienes alguna pregunta o sugerencia, déjala en la sección de
comentarios abajo.

E L A U TO R

Luis Jordán
Luis es un profesional del eCommerce y de los creadores de sitios web que ama el marketing
digital. Se dedica a ayudar a las empresas a mejorar su presencia online a través de las
prácticas del marketing. Cuando no está sentado frente al computador, seguramente está
cocinando algún platillo o entrenando.

https://www.hostinger.com.ar/tutoriales/variables-en-bash?ppc_campaign=google_search_generic_hosting_all&bidkw=defaultkeyword&lo=1000126&gad_source=1&gclid=EAIaIQobChMI4f323MavggMV77ZaBR2e… 9/13

También podría gustarte