{"id":35609,"date":"2023-09-28T21:04:20","date_gmt":"2023-09-28T19:04:20","guid":{"rendered":"\/tutoriales\/?p=35609"},"modified":"2025-07-10T19:28:48","modified_gmt":"2025-07-10T17:28:48","slug":"variables-en-bash","status":"publish","type":"post","link":"\/es\/tutoriales\/variables-en-bash","title":{"rendered":"C\u00f3mo utilizar variables en Bash"},"content":{"rendered":"<p>Cualquier lenguaje de programaci&oacute;n viene con su propio conjunto de variables. Son una parte esencial de cualquier sistema y se necesitan para ejecutar incluso los programas m&aacute;s simples.<\/p><p>Con las variables los usuarios pueden almacenar cualquier informaci&oacute;n, como n&uacute;meros o fechas, as&iacute; como cadenas, respuestas a preguntas, caracteres alfanum&eacute;ricos, su informaci&oacute;n, o incluso elementos array.<\/p><p>Bash no es la excepci&oacute;n y tambi&eacute;n viene con variables. Es una shell Unix que lee comandos de shell y los utiliza para interactuar con tu computadora f&iacute;sica o un <a href=\"\/es\/servidor-vps\">servidor privado virtual (VPS)<\/a>.&nbsp;<\/p><p>Este tutorial cubrir&aacute; todos los diferentes tipos de variables en bash y proporcionar&aacute; algunos ejemplos pr&aacute;cticos de c&oacute;mo puedes usarlos.&nbsp;&nbsp;<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Linux-Commands-Cheatsheet-ES.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/public\" alt=\"\" class=\"wp-image-26004\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-que-son-exactamente-las-variables-en-bash-y-como-funcionan\">&iquest;Qu&eacute; son exactamente las variables en Bash y c&oacute;mo funcionan?<\/h2><p>Una variable bash act&uacute;a como almacenamiento temporal para una cadena o un n&uacute;mero. Las <a href=\"\/es\/tutoriales\/como-concatenar-cadenas-en-bash\">variables Bash<\/a> son importantes cuando se trata de scripting en Bash. Tambi&eacute;n facilitan a los usuarios escribir <a href=\"\/es\/tutoriales\/bash-script-linux\">funciones complejas<\/a> y realizar diversas operaciones.&nbsp;&nbsp;<\/p><p>Los usuarios pueden crear variables d&aacute;ndoles un nombre y un valor. Un nombre puede ser cualquier cosa. Sin embargo, no puede empezar con un n&uacute;mero y no puede contener espacios, solo guiones bajos si es necesario.<\/p><p>En cuanto al valor, puede ser cualquier cadena de texto o n&uacute;mero. Se recomienda mantener el nombre de la variable similar a su valor, ya que es m&aacute;s f&aacute;cil de recordar y diferenciar entre otras variables.&nbsp;<\/p><p>Estas son algunas otras advertencias de sintaxis que vale la pena mencionar:<\/p><ul class=\"wp-block-list\">\n<li>Aunque no es posible poner n&uacute;meros al inicio de las variables, los usuarios pueden hacer que la primera o cualquier letra en un nombre de variable sea may&uacute;scula.&nbsp;<\/li>\n\n\n\n<li>Las variables de Bash distinguen entre may&uacute;sculas y min&uacute;sculas, lo que significa que <strong>mivariable<\/strong> y <strong>MiVariable<\/strong> se considerar&aacute;n diferentes.&nbsp;<\/li>\n\n\n\n<li>Cuando un usuario necesita referirse a una variable, la debe &laquo;imprimir&raquo;. En otras palabras, necesitas agregar un s&iacute;mbolo de <strong>$<\/strong> antes de su nombre. De esta manera, bash sabr&aacute; que el usuario quiere utilizar el valor de una variable.<\/li>\n\n\n\n<li>Siempre que un usuario necesite crear una variable o modificar su valor, no es necesario el s&iacute;mbolo <strong>$<\/strong>, solo el nombre real.&nbsp;<\/li>\n\n\n\n<li>Normalmente, la manipulaci&oacute;n de variables se usa en scripts de bash, <a href=\"\/es\/tutoriales\/bash-for-loop-guia-ejemplos\">bucles<\/a> y arrays. Sin embargo, es posible especificar y utilizar variables sin scripts, solo hay que declararlo en la l&iacute;nea de comandos.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-tipos-de-variables-bash\">Tipos de variables Bash<\/h2><p>Bash viene en dos tipos de variables: <strong>definidas por el sistema<\/strong> y <strong>definidas por el usuario<\/strong>. Analicemos en mayor detalle:<\/p><ul class=\"wp-block-list\">\n<li><strong>Variables definidas por el sistema<\/strong>: como sugiere el nombre, bash ya viene con un conjunto de variables, que tambi&eacute;n se pueden llamar variables de entorno. Todas pueden ser utilizadas por todos los scripts de bash ya que est&aacute;n definidas por el sistema:<\/li>\n<\/ul><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>Variable<\/strong><\/td><td><strong>Ejemplo<\/strong><\/td><td><strong>Funci&oacute;n<\/strong><\/td><\/tr><tr><td>SHELL<\/td><td>\/bin\/bash<\/td><td>Define el nombre de la interfaz utilizada<\/td><\/tr><tr><td>PWD<\/td><td>\/root<\/td><td>Muestra el directorio de trabajo actual<\/td><\/tr><tr><td>LOGNAME<\/td><td>root<\/td><td>Define el nombre del usuario registrado<\/td><\/tr><tr><td>MOTD_SHOWN<\/td><td>pam<\/td><td>Define el mensaje del d&iacute;a para el sistema<\/td><\/tr><tr><td>HOME<\/td><td>root<\/td><td>Directorio principal del usuario<\/td><\/tr><tr><td>LS_COLORS<\/td><td>rs=0:di=01;34:ln=01;36:mh=00:pi=40;<\/td><td>Se usa para establecer los colores en los que se mostrar&aacute;n los nombres de archivos para el usuario<\/td><\/tr><tr><td>SSH_CONNECTION<\/td><td>185.185.185.185 54321 185.185.185.186 12<\/td><td>Informaci&oacute;n de conexi&oacute;n SSH [IP del usuario] [puerto del usuario] [IP de la m&aacute;quina Linux] [puerto de la m&aacute;quina Linux]&nbsp;<\/td><\/tr><tr><td>LESSCLOSE<\/td><td>\/usr\/bin\/lesspipe %s %s<\/td><td>Usado para llamar al postprocesador de entrada<\/td><\/tr><tr><td>TERM<\/td><td>xterm-256color<\/td><td>Define el tipo de terminal<\/td><\/tr><tr><td>LESSOPEN<\/td><td>\/usr\/bin\/lesspipe %s<\/td><td>Utilizado para llamar al posprocesador de entrada<\/td><\/tr><tr><td>USER<\/td><td>root<\/td><td>Nombre del usuario actual<\/td><\/tr><tr><td>SHLVL<\/td><td>1<\/td><td>Muestra el n&uacute;mero de niveles de shell en los que se est&aacute; ejecutando el shell actual<\/td><\/tr><tr><td>SSH_CLIENT<\/td><td>185.185.185.185 54321 12<\/td><td>Informaci&oacute;n del cliente SSH [<a href=\"\/es\/tutoriales\/que-es-una-direccion-ip\">IP<\/a> del usuario] [puerto del usuario] [puerto de la m&aacute;quina Linux]<\/td><\/tr><tr><td>PATH<\/td><td>\/usr\/local\/sbin<\/td><td>Define los directorios que se deben buscar para que bash encuentre un comando<\/td><\/tr><tr><td>SSH_TTY<\/td><td>\/dev\/pts\/0_=\/usr\/bin\/printenv<\/td><td>Muestra la ruta al dispositivo asociadocon la consola actual o comando<\/td><\/tr><\/tbody><\/table><\/figure><p>Los usuarios siempre pueden verificar la lista de variables definidas por el sistema utilizando los comandos <strong>env<\/strong> o <strong>printenv<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"797\" height=\"548\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/1-printenv.jpg\/public\" alt=\"Resultado del comando printenv en la l&iacute;nea de comandos.\" class=\"wp-image-35841\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/1-printenv.jpg\/w=797,fit=scale-down 797w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/1-printenv.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/1-printenv.jpg\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/1-printenv.jpg\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/><\/figure><\/div><ul class=\"wp-block-list\">\n<li><strong>Variables definidas por el usuario<\/strong>: estas son variables establecidas y modificadas por el usuario. Tambi&eacute;n pueden ser llamadas variables locales y solo son visibles dentro del bloque de c&oacute;digo. A diferencia de las variables de entorno, las definidas por el usuario solo funcionan para ese script en particular.&nbsp;<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-trabajando-con-variables-en-bash\">Trabajando con variables en Bash<\/h2><p>Bash permite a los usuarios definir y manipular variables tanto en scripts de bash como en la l&iacute;nea de comandos. Echemos un vistazo r&aacute;pido a ambos ejemplos:<\/p><p><strong>L&iacute;nea de comandos<\/strong><\/p><p>Crearemos una variable <strong>miusuario<\/strong> y comprobaremos qu&eacute; shell est&aacute; utilizando.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"688\" height=\"74\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/2-mylovelyname.jpg\/public\" alt=\"Crear usuario y comprobar shell en Bash.\" class=\"wp-image-35840\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/2-mylovelyname.jpg\/w=688,fit=scale-down 688w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/2-mylovelyname.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/2-mylovelyname.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 688px) 100vw, 688px\" \/><\/figure><\/div><p><strong>Script de Bash<\/strong><\/p><p>Una forma m&aacute;s conveniente de manipular variables es con la ayuda de un script de bash. Crearemos el mismo script en la l&iacute;nea de comandos pero utilizando un script de bash. Empieza creando un archivo con tu editor de texto preferido:<\/p><pre class=\"wp-block-preformatted\">nano miscript.sh<\/pre><p>Luego, pega los siguiente:<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\nmiusuario=\"minombre\"\necho mi usuario es $miusuario y mi shell es $SHELL<\/pre><p>Por &uacute;ltimo, ejecuta el script:<\/p><pre class=\"wp-block-preformatted\">bash miscript.sh<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"413\" height=\"55\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/3-miscript.sh_.jpg\/public\" alt=\"Ejecuci&oacute;n del script de bash que utiliza dos variables y las muestra por pantalla.\" class=\"wp-image-35839\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/3-miscript.sh_.jpg\/w=413,fit=scale-down 413w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/3-miscript.sh_.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/3-miscript.sh_.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 413px) 100vw, 413px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-como-utilizar-variables-en-guiones-bash\">C&oacute;mo utilizar variables en guiones Bash<\/h3><p>Las variables de bash se utilizan habitualmente en la programaci&oacute;n de scripts de bash. Los usuarios pueden definir todo tipo de variables y usarlas en scripts automatizados.<\/p><p>Cuando se ejecutan, estos scripts pueden realizar miles de operaciones con un solo clic, lo que los hace especialmente &uacute;tiles para tareas de automatizaci&oacute;n o para ahorrar tiempo escribiendo comandos similares manualmente.&nbsp;&nbsp;<\/p><p>Empecemos con un ejemplo sencillo. Comienza creando un script con tu editor de texto favorito. Vamos a utilizar <strong>nano<\/strong> en este caso:<\/p><pre class=\"wp-block-preformatted\">nano script.sh<\/pre><p>Luego, pega los siguiente:<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\nmivariable=\"Me encantan los lenguajes de programaci&oacute;n y la declaraci&oacute;n de variables\"\necho $mivariable<\/pre><p>La primera l&iacute;nea define el shell que vamos a utilizar. En nuestro caso, ser&aacute; un shell bash.<\/p><p>Luego, el script crear&aacute; una nueva variable llamada <strong>mivariable<\/strong>. Ten en cuenta que para asignar una nueva variable, necesitar&aacute;s usar un <strong>signo igual (=)<\/strong>.<\/p><p>Usaremos el <strong>comando echo<\/strong> para imprimir el valor de la variable. Tambi&eacute;n necesitamos usar un <strong>signo de d&oacute;lar ($)<\/strong>, para que bash sepa que necesitamos el valor de una variable.<\/p><p>Por &uacute;ltimo, ejecuta el script utilizando este comando:<\/p><pre class=\"wp-block-preformatted\">bash script.sh<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"605\" height=\"67\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/4-script.sh_.jpg\/public\" alt=\"La terminal muestra el resultado de la ejecuci&oacute;n del script en el que se invoca a una variable para que muestre su valor.\" class=\"wp-image-35842\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/4-script.sh_.jpg\/w=605,fit=scale-down 605w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/4-script.sh_.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/4-script.sh_.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/figure><\/div><p>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.<\/p><h3 class=\"wp-block-heading\" id=\"h-como-trabajar-con-variables-especiales\">C&oacute;mo trabajar con variables especiales<\/h3><p>Bash viene con varios caracteres especiales, tambi&eacute;n llamados <strong>variables especiales<\/strong>. La siguiente tabla te los mostrar&aacute; todos:<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>Variable especial<\/strong><\/td><td><strong>Explicaci&oacute;n<\/strong><\/td><\/tr><tr><td>$@<\/td><td>Almacena argumentos como un array<\/td><\/tr><tr><td>$$<\/td><td>Muestra el ID del proceso de la shell actual<\/td><\/tr><tr><td>$#<\/td><td>Muestra el n&uacute;mero de argumentos proporcionados en un determinado script<\/td><\/tr><tr><td>$*<\/td><td>Agrupa todos los argumentos dados conect&aacute;ndolos<\/td><\/tr><tr><td>$!<\/td><td>Muestra el ID del &uacute;ltimo trabajo en segundo plano<\/td><\/tr><tr><td>$?<\/td><td>Muestra el c&oacute;digo de estado de salida para el &uacute;ltimo comando ejecutado<\/td><\/tr><tr><td>$0<\/td><td>Muestra el nombre del archivo del script actual<\/td><\/tr><tr><td>$_<\/td><td>Asigna la variable al &uacute;ltimo argumento del &uacute;ltimo comando<\/td><\/tr><tr><td>$-<\/td><td>Muestra las banderas actualmente utilizadas en la shell de bash<\/td><\/tr><tr><td>$1-${11}<\/td><td>Almacena datos de los primeros 11 nombres de argumentos<\/td><\/tr><\/tbody><\/table><\/figure><p>Vamos a usar algunos de estos caracteres especiales y hacer un script de ejemplo con ellos. Empieza creando un archivo de script:<\/p><pre class=\"wp-block-preformatted\">nano caracteresespeciales.sh<\/pre><p>El siguiente c&oacute;digo mostrar&aacute; la funcionalidad de las variables especiales <strong>&nbsp;$0<\/strong>, <strong>$*<\/strong>, and <strong>$$ <\/strong>:&nbsp;<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\n#Crear una nueva variable\nmivariable=\"Escribir argumentos de l&iacute;nea de comandos es divertido\"\n#Conectar variables con comillas dobles\necho \"Yo soy\" \"una variable\" \"en bash\"; $*\n#Mostrar el id de proceso del shell actual\necho $$\n#Mostrar el nombre de archivo de este script\necho $0\n#Imprimir el valor de mivariable\necho $mivariable<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"448\" height=\"104\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/5-caracteresespeciales.sh_.jpg\/public\" alt=\"La terminal muestra el uso de algunos caracteres especiales en bash.\" class=\"wp-image-35843\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/5-caracteresespeciales.sh_.jpg\/w=448,fit=scale-down 448w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/5-caracteresespeciales.sh_.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/5-caracteresespeciales.sh_.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 448px) 100vw, 448px\" \/><\/figure><\/div><p>Primero declaramos una nueva variable, luego usamos el primer par&aacute;metro para conectar las cadenas con <strong>comillas dobles<\/strong> 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.&nbsp;&nbsp;<\/p><h3 class=\"wp-block-heading\" id=\"h-como-crear-tus-variables-en-bash\">C&oacute;mo crear tus variables en Bash<\/h3><p>Cualquier variable que crees aparte de las variables de entorno se considera tuya. En otras palabras, solo funcionar&aacute; dentro de tu script.<\/p><p>Ten en cuenta que las variables no pueden comenzar con un n&uacute;mero ni contener espacios. Sin embargo, se permiten guiones bajos y letras may&uacute;sculas. Vamos a crear un ejemplo de script bash con diferentes tipos de nombres de variables:<\/p><pre class=\"wp-block-preformatted\">nano diferentesvariables.sh<\/pre><p>Luego, pega lo siguiente:<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\nnombrevariable=\"Las variables locales en bash son incre&iacute;bles\"\nNombrevariable=\"Tambi&eacute;n se admiten valores num&eacute;ricos 123\"\nNombreVariable=\"4 5 6\"\nNombre_Variable=\"Configurar variables es divertido\"\nNombre_Var3=\"Bash tambi&eacute;n realiza la divisi&oacute;n de palabras por lo que cualquier espacio ser&aacute; eliminado 1&nbsp; &nbsp; 2 &nbsp; 3&nbsp; 4\"\n\necho $nombrevariable\necho $Nombrevariable\necho $NombreVariable\necho $Nombre_Variable\necho $Nombre_Var3<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"786\" height=\"130\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/6-diferentesvariables.sh_.jpg\/public\" alt=\"La ejecuci&oacute;n del script muestra que los nombres de variables similares son tratados por bash como variables diferentes.\" class=\"wp-image-35844\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/6-diferentesvariables.sh_.jpg\/w=786,fit=scale-down 786w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/6-diferentesvariables.sh_.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/6-diferentesvariables.sh_.jpg\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/6-diferentesvariables.sh_.jpg\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/figure><\/div><p>Nuestro ejemplo muestra que incluso si los nombres de las variables son similares, todos se interpretan como variables separadas.&nbsp;<\/p><h3 class=\"wp-block-heading\" id=\"h-como-trabajar-con-variables-de-entorno\">C&oacute;mo trabajar con variables de entorno<\/h3><p>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&aacute;ticamente por el sistema. Siempre se escriben con letras may&uacute;sculas, lo cual es una de las principales indicaciones de que los usuarios est&aacute;n utilizando variables de entorno.&nbsp;<\/p><p>Por ejemplo, el siguiente script mostrar&aacute; cuatro par&aacute;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.&nbsp;&nbsp;<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\necho \"Este usuario est&aacute; usando el shell $SHELL\"\necho \"Su directorio de trabajo es: $PWD\"\necho \"Mientras que su directorio de inicio es: $HOME\"\necho \"Y el nombre de usuario es: $USER\"<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"405\" height=\"108\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/7-entorno.sh_.jpg\/public\" alt=\"El script imprime en pantalla los valores de las variables de entorno para shell, directorio de trabajo, directorio de inicio y nombre de usuario.\" class=\"wp-image-35845\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/7-entorno.sh_.jpg\/w=405,fit=scale-down 405w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/7-entorno.sh_.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/7-entorno.sh_.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 405px) 100vw, 405px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-como-exportar-variables-en-bash\">C&oacute;mo exportar variables en Bash<\/h3><p>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:<\/p><pre class=\"wp-block-preformatted\">hola=mundo<\/pre><p>Ahora, si fueras a imprimir esta variable, funcionar&iacute;a perfectamente:<\/p><pre class=\"wp-block-preformatted\">echo \"$hola\"<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"320\" height=\"75\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/8-hola-mundo.jpg\/public\" alt=\"Se declara una variable en la terminal y el comando echo imprime la variable.\" class=\"wp-image-35846\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/8-hola-mundo.jpg\/w=320,fit=scale-down 320w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/8-hola-mundo.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/8-hola-mundo.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/figure><\/div><p>Ahora, usa el comando de exportaci&oacute;n para exportar la variable <strong>hola<\/strong> y cambia a una nueva instancia de shell:<\/p><pre class=\"wp-block-preformatted\">export hola\nbash&nbsp;\necho \"$hola\"<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"312\" height=\"91\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/9-export-hola.jpg\/public\" alt=\"Caso de uso del comando export en la terminal. Permite a los usuarios utilizar variables definidas localmente dentro de diferentes instancias del shell.\" class=\"wp-image-35848\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/9-export-hola.jpg\/w=312,fit=scale-down 312w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/9-export-hola.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/9-export-hola.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 312px) 100vw, 312px\" \/><\/figure><\/div><p>Por ejemplo, si hubieras dejado de lado el comando <strong>export<\/strong>, no habr&iacute;a ninguna salida visible.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"308\" height=\"77\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/10-hola-sin-export.jpg\/public\" alt=\"Salida de la terminal en una nueva instancia de bash cuando no se ha exportado la variable previamente. En este caso el comando echo no da ninguna salida para el usuario.\" class=\"wp-image-35847\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/10-hola-sin-export.jpg\/w=308,fit=scale-down 308w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/10-hola-sin-export.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/10-hola-sin-export.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 308px) 100vw, 308px\" \/><\/figure><\/div><h3 class=\"wp-block-heading\" id=\"h-como-citar-variables-en-bash\">C&oacute;mo citar variables en Bash<\/h3><p>Las comillas juegan un papel esencial en la terminal bash. Dependiendo de si usas <strong>comillas dobles (&laquo;)<\/strong> o <strong>comillas simples (&lsquo;)<\/strong>, puede cambiar el resultado.<\/p><p>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:<\/p><pre class=\"wp-block-preformatted\">nano comillasdobles.sh<\/pre><p>Ahora, pega lo siguiente:<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\ncomillasdobles=\"Me gusta escribir argumentos de l&iacute;nea de comandos\"\necho \"Las comillas dobles funcionan as&iacute;: $comillasdobles\"<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"713\" height=\"63\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/11-comillasdobles.sh_.jpg\/public\" alt=\"La terminal muestra el caso de uso de las comillas dobles. En ese caso, el usuario ver&aacute; una salida est&aacute;ndar donde bash imprimir&aacute; el valor guardado en una variable dada.\" class=\"wp-image-35849\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/11-comillasdobles.sh_.jpg\/w=713,fit=scale-down 713w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/11-comillasdobles.sh_.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/11-comillasdobles.sh_.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 713px) 100vw, 713px\" \/><\/figure><\/div><p>Luego, crea otro script de bash:<\/p><pre class=\"wp-block-preformatted\">nano comillassimples.sh<\/pre><p>Finalmente, usa el siguiente comando:<\/p><pre class=\"wp-block-preformatted\">#!\/bin\/bash\ncomillassimples=\"Las variables de string son lo mejor\"\necho 'Las comillas simples funcionan as&iacute;: $comillassimples'<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"441\" height=\"58\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/12-comillassimples.sh_.jpg\/public\" alt=\"La terminal muestra el segundo script que contiene comillas simples. En este caso, bash imprime los nombres originales de las variables en lugar de los valores.\" class=\"wp-image-35851\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/12-comillassimples.sh_.jpg\/w=441,fit=scale-down 441w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/12-comillassimples.sh_.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/12-comillassimples.sh_.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 441px) 100vw, 441px\" \/><\/figure><\/div><p>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.&nbsp;<\/p><h3 class=\"wp-block-heading\" id=\"h-como-usar-el-comando-de-sustitucion-en-bash\">C&oacute;mo usar el comando de sustituci&oacute;n en Bash<\/h3><p>La <strong>sustituci&oacute;n de comandos<\/strong> es una forma de ejecutar un comando y utilizar su resultado como un nuevo argumento o parte de otro comando.<\/p><p>Por ejemplo, usemos la sustituci&oacute;n para crear 10 archivos con la ayuda de un comando de secuencia y los caracteres especiales <strong>$( )<\/strong>:<\/p><pre class=\"wp-block-preformatted\">touch $(seq 1 10)<\/pre><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"358\" height=\"69\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/13-touch.jpg\/public\" alt=\"La ventana de la terminal muestra el uso de la sustituci&oacute;n de comandos. Crea diez archivos vac&iacute;os con la ayuda de los comandos touch y seq.\" class=\"wp-image-35850\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/13-touch.jpg\/w=358,fit=scale-down 358w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/13-touch.jpg\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/09\/13-touch.jpg\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 358px) 100vw, 358px\" \/><\/figure><\/div><p>Los caracteres especiales de sustituci&oacute;n <strong>$( )<\/strong> permiten que se ejecute el comando <a href=\"\/es\/tutoriales\/usar-comando-touch-linux-ejemplos\">touch<\/a> simult&aacute;neamente, resultando en un comando que crea 10 archivos vac&iacute;os.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/es\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-29287\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi&oacute;n<\/h2><p>Al igual que la mayor&iacute;a de los lenguajes de programaci&oacute;n, bash viene con sus propias variables, clasificadas como <strong>locales<\/strong> y <strong>variables de entorno<\/strong>. Los usuarios pueden utilizarlas para crear scripts para automatizar tareas o realizar varias otras acciones en la terminal bash.&nbsp;<\/p><p>En este tutorial cubrimos todos los diferentes tipos de variables y tambi&eacute;n proporcionamos algunos ejemplos &uacute;tiles de c&oacute;mo pueden ser utilizadas en escenarios reales en tu servidor <strong>f&iacute;sico<\/strong> o <a href=\"\/es\/tutoriales\/que-es-un-vps\">virtual<\/a>.<\/p><p>Esperamos que la informaci&oacute;n haya sido &uacute;til. Si tienes alguna pregunta o sugerencia, d&eacute;jala en la secci&oacute;n de comentarios abajo.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cualquier lenguaje de programaci&oacute;n viene con su propio conjunto de variables. Son una parte esencial de cualquier sistema y se necesitan para ejecutar incluso los programas m&aacute;s simples. Con las variables los usuarios pueden almacenar cualquier informaci&oacute;n, como n&uacute;meros o fechas, as&iacute; como cadenas, respuestas a preguntas, caracteres alfanum&eacute;ricos, su informaci&oacute;n, o incluso elementos array. [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/es\/tutoriales\/variables-en-bash\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":361,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Qu\u00e9 son las variables en Bash y c\u00f3mo usarlas en Linux","rank_math_description":"Una variable es una cadena de caracteres que tiene un valor asignado. Aprende sobre las variables en bash y c\u00f3mo trabajar con ellas.","rank_math_focus_keyword":"variables en bash","footnotes":""},"categories":[5701],"tags":[],"class_list":["post-35609","post","type-post","status-publish","format-standard","hentry","category-desarrollo-web"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/bash-variables","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/variables-en-bash","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/bash-variables","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/bash-variables","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/bash-variables","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/variables-en-bash","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/variables-en-bash","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/variables-en-bash","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/bash-variables","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/bash-variables","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/bash-variables","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/bash-variables","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/35609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/users\/361"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/comments?post=35609"}],"version-history":[{"count":11,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/35609\/revisions"}],"predecessor-version":[{"id":47455,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/35609\/revisions\/47455"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media?parent=35609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/categories?post=35609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/tags?post=35609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}