11. Explicação detalhada do comando declare e exemplos de uso de 5 tipos

contente

1.declare comando e opções

2. Exemplo: Operação numérica 

3. Exemplo: tipo de variável de matriz 

4. Exemplo: Variáveis ​​de Ambiente 

5. Exemplo: propriedade somente leitura

6. Exemplo: propriedades de variável de consulta e propriedades de variável de cancelamento


Se precisarmos fazer operações numéricas, podemos fazê-lo de três maneiras:

Use declare para declarar o tipo de variável: Como o tipo padrão de todas as variáveis ​​é string, contanto que declaremos a variável como integer, podemos realizar operações. Declarar o tipo de uma variável é feito usando o comando declare. O comando é o seguinte:

1.declare comando e opções

【+/-】【subopção】 Nome da variável

Subopções:

-: Defina o atributo type para a variável.

+: Cancela o atributo type da variável.

-a: Declara a variável como um array.

-i: Declara a variável como um inteiro.

-r: Declara a variável como somente leitura. Observe que uma vez que uma variável é definida como somente leitura, o valor da variável não pode ser modificado nem excluído, e o atributo somente leitura não pode ser cancelado por +r.

-x: Declare a variável como uma variável de ambiente.

-p: Exibe o tipo declarado da variável especificada.

2. Exemplo: Operação numérica 

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

3. Exemplo: tipo de variável de matriz 

O chamado array é uma coleção de elementos do mesmo tipo de dados dispostos em uma determinada ordem, ou seja, um número limitado de variáveis ​​do mesmo tipo são nomeados com um nome e, em seguida, são separados por números. O nome se torna a matriz e o número é chamado de subscrito. As variáveis ​​que compõem o array são chamadas de componentes do array, também chamadas de elementos do array, e às vezes são chamadas de variáveis ​​de tabela.

Tanto as variáveis ​​quanto os arrays são usados ​​para armazenar dados, mas uma variável só pode ser atribuída a um valor de dados. Uma vez atribuído repetidamente, o último valor substituirá o valor anterior. As matrizes, por outro lado, podem receber um conjunto de valores de dados do mesmo tipo.

exemplo:

[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. Exemplo: Variáveis ​​de Ambiente 

Podemos usar o comando declare para declarar variáveis ​​como variáveis ​​de ambiente, que é o mesmo que o comando export.

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

As variáveis ​​de ambiente podem ser usadas no shell no qual a variável foi criada e em qualquer subshell ou processo derivado desse shell, portanto, as variáveis ​​de ambiente são frequentemente chamadas de variáveis ​​globais. O shell no qual a variável de ambiente é criada é chamado de shell pai e, se um shell for criado no shell pai, o shell é chamado de subshell. Quando um subshell é criado, ele herda as variáveis ​​de ambiente do shell pai para seu próprio uso, de modo que as variáveis ​​de ambiente podem ser passadas do shell pai para o subshell. Observe, no entanto, que as variáveis ​​de ambiente só podem ser passadas para baixo e não para cima. "Passando do filho, não do pai"

5. Exemplo: propriedade somente leitura

[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   #再次失败..... 

Depois que o atributo somente leitura é definido como uma variável, a variável não pode modificar o valor da variável nem excluí-la, e a opção +r não pode ser usada para cancelar o atributo somente leitura. No entanto, como essa variável é declarada apenas na linha de comando, ela desaparecerá assim que você efetuar login novamente ou reinicializar.

6. Exemplo: propriedades de variável de consulta e propriedades de variável de cancelamento

A consulta de propriedades de variáveis ​​usa a opção -p e o cancelamento de propriedades de variáveis ​​usa a opção +. O comando é o seguinte:

[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" 

Acho que você gosta

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