Table of Contents
Comprensión y escritura de ‘variables de Linux’ en secuencias de comandos de shell-Parte 10
El lenguaje de programación de shell de Linux siempre ha sido un tema candente y siempre lo será en el futuro. El lenguaje de secuencias de comandos de Shell es mágico y es tan fácil de hacer un programa en lenguaje de secuencias de comandos como en cualquier otro lenguaje. Sin embargo, necesita un conocimiento profundo de lo que estamos haciendo y cuál es el resultado esperado.
Entendiendo las variables en el script de shell
Todos los artículos de script de shell que hemos escrito para nuestros lectores son muy apreciados, incluido el último“ Una visión de las variables de Linux ”. Estamos ampliando el último artículo a un nuevo nivel.
Atributos variables
Cada variable en el entorno Linux tiene ciertas opciones, y esas se denominan “atributos”. Estas opciones o atributos pueden activarse y desactivarse , cuando sea necesario según la situación, mediante el comando “declarar”.
Un ejemplo de atributo de variable está usando un interruptor diga ‘-i ‘ que activará el atributo entero para la variable correspondiente. Incluso si se pasa un valor no numérico para cambiar “-i “, no arrojará un mensaje de error y mostrará “ 0 ” como interpretación de números enteros. Aquí se vuelve más claro a partir del ejemplo siguiente.
Declare una variable Integer, bill = 121
[email protected]: ~ $ declare-i bill = 121 freestar.config.enabled_slots.push ( locationName: “tecmint_incontent”, slotId: “tecmint_incontent”);
Imprime el valor de la factura variable.
[email protected]: ~ $ printf “% d \ n” “$ bill” 121
Sea el valor de la variable una cadena. La factura variable ya está declarada, no es necesario declararla por segunda vez. Simplemente cambie el valor de la variable como.
[email protected]: ~ $ bill = tecmint
Ahora, imprima nuevamente el valor de la variable bill.
[email protected]: ~ $ printf “% d \ n “” $ bill “0
Observe ‘ 0 ‘ en el lugar del mensaje de error.
Ahora, la pregunta es, ¿cómo conocer los atributos de las variables ya declaradas? [email protected]: ~ $ declare-p bill declare-i bill = “121”
Aquí, un interruptor -p (significa imprimir) viene al rescate.
De nuevo, ¿Qué debo hacer para desactivar los atributos de una variable?
Para desactivar los atributos de una variable, lo que necesitamos es poner un signo + ( más ) justo antes del cambiar. Aquí es más claro en el ejemplo siguiente.
Desactive el atributo de número entero para la variable anterior.
[email protected]: ~ $ declare + i bill
Verifique el valor de la variable.
[email protected]: ~ $ printf “% d \ n” “$ bill” bash: printf: bill: número inválido 0
Ahora imprima el valor de la variable usando cambiar cadena.
[email protected]: ~ $ printf “% s \ n” “$ bill” tecmint
Aquí, en el ejemplo anterior, bash no pudo juzgar un valor no numérico como un error, sin embargo printf está interpretando, lo que podría ser un número y lo que no podría ser.
Variables de solo lectura
Es posible que haya escuchado Memoria de solo lectura ( ROM ), pero ¿qué es la variable de solo lectura? ¿Tiene alguna similitud con la ROM?
Bueno, las variables de solo lectura como la memoria de solo lectura es algo cuyo valor no se puede cambiar una vez que se asigna. Por lo tanto, se llama de solo lectura. No puede escribir, editar o modificar un nuevo valor para esa variable. Aquí hay una ilustración con un ejemplo.
Califique un nombre de variable de solo lectura (-r ), cuyo valor es “Tecmint.com”.
[email protected ]: ~ $ declare-r name = “Tecmint.com”
Imprime el valor de la variable declarada anteriormente.
[email protected]: ~ $ printf “% s \ n” “$ name” Tecmint.com
Intente cambiar el valor de la variable.
[email protected]: ~ $ declare-r name = “Avishek” bash: declare: name: readonly variable
Como se discutió anteriormente, los atributos de un read-solo la variable se puede cambiar usando el signo ‘ + ‘.
Exportación de variables en Linux
Todas las variables de shell declaradas en un script de shell están disponibles hasta que el script Esta corriendo. Fuera del script, la variable del script no existe. El proceso de hacer que las variables estén disponibles fuera del script se llama exportar variables.
Una variable se puede exportar fuera del shell usando el interruptor declare-x (export), que reconoce la shell lo que quería exportar. Un conmutador de declaración de exportación se puede utilizar como.
[email protected]: ~ $ declare-x variable = ”Constant_Value”
Todos los cambios realizados en la variable mientras se ejecuta el script se pierden cuando la variable se exporta fuera del script. Exportar variable es muy importante en el script de shell.
Queremos tener una variable que sea de solo lectura y esté disponible fuera del script, necesitamos usar el interruptor -r y cambie -x al mismo tiempo.
[email protected]: ~ $ declare-rx variable = ”Constant_Value”
Variables de entorno
Las variables que son compartido entre el programa y el programa que los ejecuta. Las variables de entorno se pueden exportar, pero los atributos no se le pueden asignar.
Comprensión práctica de la teoría anterior. Aquí tenemos dos scripts 0.sh y 1.sh .
# 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 “exit 0
Aquí lo que está sucediendo, es que una variable (nombre) se declara como de solo lectura y se exporta e inmediatamente después se llama a ese segundo script.
El segundo script acaba de imprimir la variable del primer script que se exportó en la primera instrucción printf . En la segunda instrucción printf, muestra el nuevo valor asignado a la variable “ nombre “.
No hay necesidad de preocuparse, que la variable era de solo lectura, ¿cómo se puede reasignar? ¿No recuerda que “Todos los cambios realizados en la variable mientras se ejecuta el script se pierden cuando la variable se exporta fuera del script”?
Referencias
El declare El comando permite todos los conmutadores siguientes junto con su combinación.
- -a : Declara una matriz.
- -f : Mostrar función y definición.
- -F : Mostrar nombre de función.
- -r : Declarar variable como lectura-sólo.
- -x : declarar variable como exportable.
- -I : declarar variable como entero.
Eso es todo por ahora. En el próximo artículo discutiremos formas de sustituir variables usando el comando “ eval ” y las variables ya definidas en bash antes de cerrar este tema. Espero que estén disfrutando de su viaje a la profundidad de las secuencias de comandos. Hasta entonces, estad atentos y conectados a Tecmint.com.