Comprender y escribir 'Variables de Linux' en scripting de shell - Parte 10

Comprender y escribir 'Variables de Linux' en scripting de shell - Parte 10

El lenguaje de secuencias de comandos de Linux Shell siempre ha sido un tema candente y siempre estará en el futuro. El lenguaje de scripting de shell es mágico y es muy fácil hacer un programa en el lenguaje de secuencias de comandos como en cualquier otro idioma. Sin embargo, necesita un conocimiento profundo de lo que estamos haciendo y lo que se espera el resultado.

Comprensión de las variables en las secuencias de comandos

Todos los artículos de scripting de shell que hemos escrito para nuestros lectores son muy apreciados, incluida la última "una visión de las variables de Linux". Estamos extendiendo el último artículo a un nuevo nivel.

Atributos variables

Cada variable en el entorno de Linux tiene ciertas opciones, y esas se llaman 'atributos'. Estas opciones o atributos se pueden girar En y Apagado, Cuando se requiere de acuerdo con la situación utilizando un comando "declarar".

Un ejemplo de atributo variable es usar un interruptor, digamos '-i'que encenderá el atributo entero para la variable correspondiente. Incluso si se pasa un valor no numérico para cambiar '-i'No lanzará un mensaje de error y salida'0'Como interpretación entera. Aquí se vuelve más claro en el siguiente ejemplo.

Declarar un entero variable, bill = 121

[correo electrónico protegido]: ~ $ declarar -i bill = 121

Printf el valor de la factura variable.

[correo electrónico protegido]: ~ $ printf "%d \ n" "$ bill" 121

Deje que el valor variable sea una cadena. El proyecto de ley variable ya está declarado, no es necesario declararlo por segunda vez. Simplemente cambie el valor de la variable como.

[correo electrónico protegido]: ~ $ bill = tecMint

Ahora, nuevamente imprima el valor de la factura variable.

[correo electrónico protegido]: ~ $ printf "%d \ n" "$ bill" 0

Aviso '0'En lugar de mensaje de error.

Ahora, la pregunta es cómo conocer los atributos de las variables ya declaradas?
[correo electrónico protegido]: ~ $ declarar -p bill declare -i bill = "121"

Aquí un -pag (representa la impresión) Switch viene al rescate.

Nuevamente, ¿qué debo hacer para apagar los atributos de una variable??

Para cambiar Apagado Los atributos de una variable lo que necesitamos es poner un + (más) firmar justo antes del interruptor. Aquí está más claro en el siguiente ejemplo.

Cambiar Apagado el atributo entero para la variable anterior.

[correo electrónico protegido]: ~ $ declarar +i bill

Verifique el valor de la variable.

[Correo electrónico protegido]: ~ $ printf "%d \ n" "$ bill" bash: printf: factura: número no válido 0

Ahora imprima el valor de la variable usando la cadena de conmutación.

[correo electrónico protegido]: ~ $ printf "%s \ n" "$ bill" tecmint

Aquí en el ejemplo anterior, Bash no pudo juzgar el valor no numérico como error, sin embargo, printf está interpretando, qué podría ser un número y lo que no podría ser.

Variables de solo lectura

Es posible que haya escuchado solo la memoria de lectura (ROM), pero lo que es variable de solo lectura? ¿Tiene alguna similitud con ROM??

Variables de solo lectura como la memoria de solo lectura es algo que cuyo valor no se puede cambiar una vez que se asigna. Por lo tanto, se llama solo lectura. No puede escribir, editar o modificar un nuevo valor para esa variable. Aquí hay una ilustración usando ejemplo.

Decalre una lectura solamente (-riñonal) Nombre variable, cuyo valor es "Tecmint.com ".

[correo electrónico protegido]: ~ $ declare -r name = "TecMint.com "

Printf el valor de la variable declarada anterior.

[Correo electrónico protegido]: ~ $ printf "%s \ n" "$ name" tecmint.comunicarse

Intente cambiar el valor de la variable.

[Correo electrónico protegido]: ~ $ declare -r name = "AVishek" Bash: Declarar: Nombre: Readonly Variable

Como se discutió anteriormente, los atributos de una variable de solo lectura se pueden cambiar usando '+' firmar.

Exportación de variables en Linux

Todas las variables de shell declaradas en un script de shell están disponibles hasta que el script se ejecuta. Fuera del script la variable de la script no existe. El proceso de hacer que las variables estén disponibles fuera del script se denomina variables de exportación.

Se puede exportar una variable fuera de la carcasa utilizando el interruptor declarar -x (Exportar), que reconoce el shell lo que quería exportar. Un interruptor de exportación de declaraciones se puede usar como.

[correo electrónico protegido]: ~ $ declarar -x variable = ”constant_value"

Todos los cambios realizados en la variable mientras se ejecuta el script se pierde cuando la variable se exporta fuera del script. Exportar variable es muy importante en los scripts de shell.

Queremos tener una variable que debe ser de solo lectura y disponible fuera del script, necesitamos usar Switch -riñonal y cambiar -X al mismo tiempo.

[correo electrónico protegido]: ~ $ declare -rx variable = ”constant_value"

Variables de entorno

Las variables que se comparten entre el programa y el programa que las ejecutan. Se pueden exportar variables de entorno, pero los atributos no se pueden asignar a ella.

Comprender la teoría anterior prácticamente. Aquí tenemos dos guiones 0.mierda y 1.mierda.

# 0.sh #!/bin/bash declare -rx name = tecMint Bash 0.Sh Exit 0

Y el segundo script es.

# 1.sh #!/bin/bash printf "%s \ n" "$ name" name = tecMint.com printf "%s \ n" "$ name" salida 0

Aquí lo que está sucediendo es una variable (nombre) se declara solo como leída y exportada e inmediatamente después de que se llame a ese segundo script.

El segundo script acaba de imprimir la variable de la primera script que se exportó en el primero printf declaración. En la segunda declaración printf muestra el nuevo valor asignado a la variable 'nombre'.

No es necesario preocuparse, que la variable fuera de solo lectura, ¿cómo se puede reasignar?. No recuerde que “todos los cambios realizados en la variable mientras se ejecuta el script se pierde cuando la variable se exporta fuera del script."

Referencias

El declarar El comando permite todos los interruptores a continuación junto con su combinación.

  1. -a : Declara una matriz.
  2. -F : Función y definición de visualización.
  3. -F : Nombre de la función de visualización.
  4. -riñonal : Declarar variable como solo lectura.
  5. -X : Declarar variable como exportable.
  6. -I : Declarar variable como entero.

Eso es todo por ahora. En el próximo artículo discutiremos formas de sustituir las variables usando 'evaluación'Comando y las variables ya definidas en Bash antes de cerrar este tema. Espero que ustedes estén disfrutando de su viaje hacia la profundidad de las secuencias de comandos. Hasta entonces, estad atentos y conectado a Tecmenta.comunicarse.