Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qué Son Las Variables en Bash y Cómo Usarlas en Linux
Qué Son Las Variables en Bash y Cómo Usarlas en Linux
TUTORIALES menu
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?
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
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.
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:
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.
Línea de comandos
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
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
bash miscript.sh
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
#!/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.
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.
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
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.
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
#!/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.
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"
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, 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.
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
#!/bin/bash
comillasdobles="Me gusta escribir argumentos de línea de comandos"
echo "Las comillas dobles funcionan así: $comillasdobles"
nano comillassimples.sh
#!/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.
Por ejemplo, usemos la sustitución para crear 10 archivos con la ayuda de un comando de secuencia y los
caracteres especiales $( ):
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