Linux shell array de creación y uso de habilidades

  
 

El shell de Linux es mucho más poderoso que el lote de Windows en programación, ya sea en bucle o computación. Los tipos de datos son incomparables. El siguiente es un resumen de algunas de las operaciones en la matriz cuando la persona lo está utilizando.


1. Definición de matriz


[chengmo @ centos5 ~] $ a = (1 2 3 4 5) [chengmo @ centos5 ~] $ echo $ a1


Un par de paréntesis indica una matriz, y los elementos de la matriz están separados por un símbolo de espacio " espacio.


2. Array lectura y asignación • obtener longitud:

[chengmo @ centos5 ~] $ echo $ {# a [@]} 5

Use $ {# nombre de la matriz [@ o *]} para obtener la longitud de la matriz • lea:

[chengmo @ centos5 ~] $ echo $ {a [2]} 3

[chengmo @ centos5 ~] $ echo $ {a [*]} 1 2 3 4 5

Con $ {array name [subcript]} El subíndice comienza desde 0 y el subíndice es: * o @Obtener el contenido completo de la matriz • Asignación:

[chengmo @ centos5 ~] $ a [1] = 100

[chengmo @ centos5 ~] $ echo $ {a [*]} 1 100 3 4 5


[chengmo @ centos5 ~] $ a [5] = 100 [chengmo @ centos5 ~] $ echo $ {a [*]}

1 100 3 4 5 100

Puede asignar una referencia directamente al nombre de la matriz [subíndice]. Si el subíndice no existe, agregue automáticamente un nuevo elemento de la matriz • Eliminar:

[chengmo @ centos5 ~] $ a = (1 2 3 4 5) [chengmo @ centos5 ~] $ desactiva un [chengmo @ centos5 ~] $ echo $ {a [*]}

[chengmo @ centos5 ~] $ a = (1 2 3 4 5) [chengmo @ centos5 ~] $ deshabilitar a [1] [chengmo @ centos5 ~] $ echo $ {a [*]} 1 3 4 5 [chengmo @ centos5 ~] $ Echo $ {# a [*]} 4

Directamente a través de: unset array [subíndice] Para borrar el elemento correspondiente, sin subíndices, borra todos los datos.



3. Uso especial • Slice:

[chengmo @ centos5 ~] $ a = (1 2 3 4 5) [ ,null,null,3],Chengmo @ centos5 ~] $ echo $ {a [@]: 0: 3} 1 2 3 [chengmo @ centos5 ~] $ echo $ {a [@]: 1: 4} 2 3 4 5

[chengmo @ centos5 ~] $ c = ($ {a [@]: 1: 4}) [chengmo @ centos5 ~] $ echo $ {# c [@]} 4 [chengmo @ centos5 ~] $ echo $ {c [*]} 2 3 4 5

Directamente a través de $ {nombre de matriz [@ o *]: posición inicial: longitud} corta la matriz original, devuelve una cadena, separada por " espacio " Por lo tanto, si agrega " () ", obtendrá una matriz segmentada. El ejemplo anterior: c es un dato nuevo. • Reemplazar:

[chengmo @ centos5 ~] $ a = (1 2 3 4 5) [chengmo @ centos5 ~] $ echo $ {a [@] /3/100} 1 2 100 4 5 [chengmo @ centos5 ~] $ echo $ {a [@]} 1 2 3 4 5 [chengmo @ centos5 ~] $ a = ($ {a [@] /3/100}) [chengmo @ centos5 ~] $ echo $ {a [@]} 1 2 100 4 5

El método de llamada es: $ {nombre de matriz [@ o *] /carácter de búsqueda /carácter de reemplazo} Esta operación no cambia el contenido de la matriz original, si es necesario modificarlo Puede redefinir los datos mirando el ejemplo anterior.


De lo anterior, puede encontrar que la matriz de Linux shell es muy poderosa, y las operaciones comunes son más que suficientes.

Copyright © Conocimiento de Windows All Rights Reserved