El artículo publicado anteriormente de Fahmida Yesmin [4] le ofrece una maravillosa introducción sobre las variables de Bash. Aquí avanzamos más y explicamos cómo declarar variables en Bash de tal manera que puede usarlas en otros entornos en su sistema Linux, y qué efectos secundarios correspondientes debe tener en cuenta.
Una breve descripción de Bash
Bash Shell se lanzó por primera vez en 1989 y se ha utilizado como el shell de inicio de sesión predeterminado para la mayoría de las distribuciones de Linux. Brian Fox escribió a Bash como un Shell Unix y lenguaje de comando para el proyecto GNU como un reemplazo de software gratuito para el Bourne Shell. Es un acrónimo de Bourne Again Shell. Bash es en gran medida compatible con mierda e incorpora características útiles de Korn Shell ksh y la cáscara C CSH [6].
Mientras que el sistema operativo GNU proporciona otros proyectiles, incluida una versión de CSH, Bash es el shell interactivo predeterminado. Está diseñado con la portabilidad en mente, y actualmente se ejecuta en casi todas las versión de Unix más otros sistemas operativos [9].
Variables Bash en pocas palabras
Las variables son componentes esenciales de los lenguajes de programación. Se hace referencia y manipulados en un programa de computadora. En pocas palabras, las variables representan celdas de memoria nombradas. Esto es lo mismo en Bash que en cualquier lenguaje de programación. Esto nos hace posible que los humanos y los usuarios de la computadora almacenen valores en el "cerebro" de la computadora y los encuentren nuevamente a través del nombre asignado de la variable.
El término variable se refiere a una forma combinada de dos palabras, yo.mi., variar + capaz, lo que significa que su valor se puede cambiar, y se puede usar por varias veces. En contraste con esto, las variables que no se pueden cambiar se llaman constantes. [10]
Mientras haya suficiente memoria disponible para su script, puede crear libremente y usar variables. Simplemente puede configurarlos definiendo un nombre de variable y luego asignando su valor. Un nombre variable en Bash puede incluir letras, dígitos y subrayos. Su nombre se puede iniciar con una letra y un bajo, solo. Los nombres de variables válidas son tamaño, tax5 y _Tax20 pero no 5Rules.
Un valor variable en Bash puede contener un número, un solo carácter, una cadena de caracteres o una lista de elementos (llamado Array). No tiene un tipo de datos visible, y el tipo de datos internos de la variable se resolverá automáticamente (o se derivará) al asignar un valor. Además, no es necesario declarar la variable: asignar un valor a su referencia creará la variable automáticamente. El script bash de ejemplo a continuación demuestra esto para una asignación de cadenas y una asignación de números numéricos.
#! /bin/bash
welcomemessage = "Hola mundo!"
Echo $ welcomemessage
Precio = 145
Echo $ Price
Convenciones de nombres de variables Bash
No hay reglas fijas para la ortografía de los nombres de las variables, solo convenciones. Se utilizan estas convenciones:
Para las empresas globales de TI, es común trabajar con guías de estilo para garantizar un estilo de codificación común entre la empresa. Consulte el editorial de desarrolladores para IBM y la Guía de estilo de Google [3] para obtener más información sobre las convenciones que siguen.
Visibilidad variable
El caso predeterminado es que una variable está unida localmente a una estructura, función, script o proceso, y no se puede acceder desde fuera de ella. El siguiente ejemplo muestra esto para el mensaje $ variable que pertenece al script, y $ bienvenido que pertenece a la función outputWelComessage ().
#!/bin/bash
# Defina un mensaje variable en el script
Mensaje = ”Hola, de nuevo!"
outputWelComEssage ()
# Defina una variable local
Bienvenido = "Hola!"
echo $ bienvenido
outputWelComEssage () # Imprime hola!
echo $ mensaje # imprime hola, de nuevo!
Para asegurarse de que una variable previamente definida con el mismo nombre esté unido localmente, use la palabra clave local como se demuestra a continuación. Sin la palabra clave local, la asignación en la línea 8 se relacionaría con la variable definida globalmente con el mismo nombre definido anteriormente.
#!/bin/bash
# Defina un mensaje variable en el script
Mensaje = ”Hola, de nuevo!"
outputWelComEssage ()
# Defina una variable local con el mismo nombre
Mensaje local = ”Hola!"
Mensaje de echo $
outputWelComEssage () # Imprime hola!
echo $ mensaje # imprime hola, de nuevo!
Extender el alcance de una variable
Para hacer una variable interna visible para otros procesos infantiles, se necesita un paso adicional. Este paso se llama exportar una variable. Bash ofrece el uso de la exportación de palabras clave seguido del nombre de la variable. La lista a continuación demuestra esto para la variable backuppath.
$ backuppath = "/opt/backup/"
$ exportación de backuppath
El comando de exportación es un shell incorporado que se utiliza para definir la variable como una que subshilla (conchas generadas desde el original) heredar. Las variables que se exportan pueden ser leídas y escritas por más de un proceso, luego.
La segunda opción es declarar la variable como una variable de entorno desde el principio. Puede hacerlo utilizando la palabra clave declarar seguido de la opción "-x" (consulte [5] para obtener más información sobre el comando declarar). El efecto es similar al comando de exportación que se introdujo antes.
$ declarar -x backuppath = "/opt/backup/"
Heredar de otras sesiones
Cuando ejecuta un programa, hereda automáticamente sus variables de entorno del proceso principal. Por ejemplo, si $ Home está configurado en /root en el padre, entonces la variable $ hogar del niño también está configurada en /root.
Otros comandos
Entre otros, Linux viene con comandos y opciones útiles que se relacionan con las variables. Los dos primeros se llaman env y printenv. Enumeran todas las variables de entorno.
La imagen a continuación muestra la salida del comando env en un terminal que se ejecuta en una sesión X. Contiene variables como $ xterm (tipo terminal), $ shell (el programa que se llama al inicio de sesión, y muestra /bin /bash para la ruta al intérprete bash), $ ls_colors (los colores que están en uso para resaltar diferentes archivos tipos al llamar a LS) y $ Desktop_Session (el entorno de escritorio X actual).
El tercero y el cuarto son opciones del comando de exportación --p y -n. -P es la imprenta y solo muestra todas las variables exportadas en el shell actual utilizando el comando Declarar.
$ Export -P
declarar -x escritorio_session = "xfce"
declarar -x display = ": 0"
declarar -x glade_catalog_path = ":"
declarar -x glade_module_path = ":"
declarar -x glade_pixmap_path = ":"
declarar -x home = "/home/frank"
declarar -x lang = "de_de.UTF-8 "
La opción -n se utiliza para desastar una variable de entorno. La lista a continuación demuestra esto para la variable de backuppath previamente definida.
$ exportación -n backuppath
Conclusión
Bash es un entorno muy inteligente pero a veces también un bits complejo. Las variables controlan cómo interactúan las diferentes herramientas. Exportar variables ayuda a comunicarse entre procesos y es fácil de usar en la vida cotidiana.
Sobre los autores
Jacqui Kabeta es un ambientalista, ávido investigador, entrenador y mentor. En varios países africanos ha trabajado en los entornos de la industria de TI y las ONG.
Frank Hofmann es desarrollador de TI, entrenador y autor y prefiere trabajar desde Berlín, Ginebra y Ciudad del Cabo. Coautor del libro de gestión de paquetes de Debian disponible en DPMB.organizar
Enlaces y referencias