11. Explicación detallada del comando declare y ejemplos de uso de 5 tipos

contenido

1.declarar comando y opciones

2. Ejemplo: operación numérica 

3. Ejemplo: tipo de variable de matriz 

4. Ejemplo: Variables de entorno 

5. Ejemplo: propiedad de solo lectura

6. Ejemplo: consultar propiedades de variables y cancelar propiedades de variables


Si necesitamos hacer operaciones numéricas, podemos hacerlo de tres maneras:

Use declare para declarar el tipo de variable: dado que el tipo predeterminado de todas las variables es una cadena, siempre que declaremos la variable como un número entero, podemos realizar operaciones. La declaración del tipo de una variable se realiza mediante el comando declare. El comando es el siguiente:

1.declarar comando y opciones

【+/-】【subopción】 Nombre de la variable

Subopciones:

-: establece el atributo de tipo en la variable.

+: Cancela el atributo de tipo de la variable.

-a: declara la variable como una matriz.

-i: Declara la variable como un entero.

-r: declara la variable como de solo lectura. Tenga en cuenta que una vez que una variable se establece en solo lectura, el valor de la variable no se puede modificar ni eliminar, y el atributo de solo lectura ni siquiera se puede cancelar con +r.

-x: declara la variable como una variable de entorno.

-p: Muestra el tipo declarado de la variable especificada.

2. Ejemplo: operación numérica 

[root@localhost ~]# aa=11 
[root@localhost ~]# bb=22 
[root@localhost ~]# declare -i cc=$aa+$bb     #将变量声明为整数型。 
[root@localhost ~]# echo $cc 
33

3. Ejemplo: tipo de variable de matriz 

El llamado array es una colección de elementos del mismo tipo de datos dispuestos en un orden determinado, es decir, un número limitado de variables del mismo tipo se nombran con un nombre, y luego se separan por números. El nombre se convierte en el arreglo y el número se llama subíndice. Las variables que componen la matriz se denominan componentes de la matriz, también llamados elementos de la matriz y, a veces, se denominan variables de tabla.

Tanto las variables como las matrices se utilizan para almacenar datos, pero a una variable solo se le puede asignar un valor de datos. Una vez asignado repetidamente, el último valor sobrescribirá el valor anterior. A las matrices, por otro lado, se les puede asignar un conjunto de valores de datos del mismo tipo.

ejemplo:

[root@localhost ~]# name[0]="aa"     #数组中第一个变量是“aa” 
[root@localhost ~]# name[1]="bb"     #数组中第二个变量是“bb”
[root@localhost ~]# name[2]="cc"     #数组中第三个变量是“cc” 
[root@localhost ~]# echo $name       #输出数组的内容,如果只写数名,aa那么只会输出第一个下标变量。
[root@localhost ~]# echo ${name[1]}  #下表1输出了bb 
bb
[root@localhost ~]# echo ${name[*]}  #用数组【*】输出数组所有内容
aa bb cc 
#(数组下表是从0开始的,在调用数组时,需要用${数组[下标]}的方式来读取) 

4. Ejemplo: Variables de entorno 

Podemos usar el comando declare para declarar variables como variables de entorno, que es lo mismo que el comando export.

[root@localhost ~]# declare -x test=123     #用declare命令-x选项将test=123声明为环境变量。 
[root@localhost ~]# env | grep test         #在env中查找是否有test的环境变量。
test=123

Las variables de entorno se pueden usar en el shell en el que se creó la variable y en cualquier subshell o proceso derivado de ese shell, por lo que las variables de entorno a menudo se denominan variables globales. El shell en el que se crea la variable de entorno se denomina shell principal, y si se crea un shell en el shell principal, el shell se denomina subshell. Cuando se crea una subcapa, hereda las variables de entorno de la capa principal para su propio uso, por lo que las variables de entorno se pueden pasar de la capa principal a la subcapa. Tenga en cuenta, sin embargo, que las variables de entorno solo pueden transmitirse hacia abajo y no hacia arriba. "Pasando del hijo, no del padre"

5. Ejemplo: propiedad de solo lectura

[root@localhost ~]# declare -r test                  #给test赋予只读属性 
[root@localhost ~]# test=456                         #test变量的值不能修改了 
bash: test: readonly variable 
#bash, 
test,只读变量
[root@localhost ~]# declare +r test                  #试图取消只读属性 
bash: declare: test: readonly variable               #失败.. 
[root@localhost ~]# unset test                       #删除变量
bash: unset: test: cannot unset: readonly variable   #再次失败..... 

Una vez que el atributo de solo lectura se establece en una variable, la variable no puede modificar el valor de la variable ni eliminar la variable, y la opción +r no se puede usar para cancelar el atributo de solo lectura. Sin embargo, debido a que esta variable solo se declara en la línea de comando, desaparecerá tan pronto como inicie sesión nuevamente o reinicie.

6. Ejemplo: consultar propiedades de variables y cancelar propiedades de variables

La consulta de propiedades de variables usa la opción -p, y la cancelación de propiedades de variables usa la opción +. El comando es el siguiente:

[root@localhost ~]# abc=123             #变量赋值abc=123 
[root@localhost ~]# declare -p abc      #用declare -p查看 
declare -- abc="123" 
[root@localhost ~]# declare -i abc      #declare -i声明变量abc为整数型 
[root@localhost ~]# declare -p abc      #查看 
declare -i abc="123" 
[root@localhost ~]# name[0]=aa          #数组 
[root@localhost ~]# name[1]=bb 
[root@localhost ~]# name[2]=cc 
[root@localhost ~]# declare -p name     #查看数组型 
declare -a name='([0]="aa" [1]="bb" [2]="cc")' 
[root@localhost ~]# declare -p test     #test变量是环境变量和只读变量 
declare -rx test="123" 
[root@localhost ~]# declare +x test     #取消test变量的环境变量属性
[root@localhost ~]# declare -p test     #查看test 
declare -r test="123" 

Supongo que te gusta

Origin blog.csdn.net/weixin_46659843/article/details/123728542
Recomendado
Clasificación