1. definición de matriz
$ A = ( 1 2 3 4 5 6 ) $ echo $ a
1
Nota: los elementos de matriz separados por espacios, sin espacios = ambos lados, ECHO $ a sólo devuelve el primer elemento de la matriz
2. Matriz tarea de lectura
2.1 Obtiene una matriz de longitud
$ echo ${#a[@]} 6
Con el nombre de la matriz $ {# [@ o *]} puede ser una matriz de longitud
2.2 Obtiene una matriz de elementos
$ echo ${a[0]} 1
$ echo ${a[*]}
1 2 3 4 5 6
Nota: subíndice es * o @ recupera todos los elementos
2.3 Asignación
$ a[1]=11 $ a[3]=33 $ echo ${a[@]} 1 11 2 33 4 5 6
Nota: Si no existe el índice, añadir automáticamente un nuevo elemento de la matriz,
2.4 Extracción de elementos
$ A = ( 1 2 3 4 5 ) remover $ un $ echo $ {a [* ]} $ a = ( 1 2 3 4 5 ) remover $ a [ 1 ] $ echo $ {a [* ]} 1 3 4 5 $ echo $ {# a [* ]} 4
Directamente a través de: array unset [índice] para borrar los elementos correspondientes, no subíndices, borra todos los datos.
3. Uso especial
fragmento de 3,1
$ a=(1 2 3 4 5) $ echo ${a[*]:1:3} 2 3 4 $ b=(${a[*]:2:9}) $ echo ${b[*]} 3 4 5
$ c = ${a[*]:2:9}
$ echo $c
3 4 5
Directamente a través de la nombre de la matriz $ {[@ o *]: Posición inicial: longitud} rebana lista original, devuelve una cadena, un "espacio" intermedio se separa, si es así con "()", y la rebanada matriz resultante, el ejemplo anterior : b es una nueva matriz, y c es una cadena
Nota: Si la longitud especificada es mayor que la propia matriz, para tomar sólo el último elemento de la matriz, el error no lo hará
reemplazar 3.2
$ a=(1 2 3 4 5) $ echo ${a[*]/3/33} 1 2 33 4 5 $ echo ${a[*]} 1 2 3 4 5 $ a=(${a[*]/3/33}) $ echo ${a[*]} 1 2 33 4 5
Llamar al método es: $ {nombre de la matriz [@ o *] / personajes encuentran / reemplazar caracteres} Esta operación no altera el contenido original de la matriz
Nota: el reemplazo de una operación más fan
$ A = ( 12 222 345 ) $ echo $ {a [*] / 2 / 88 } 188 8822 345 $ b = ($ {a [*] / 2 / 88 }) $ eco {b [* ]} 188 8822 345 $ echo $ {b [*] / 2 / 88 } 188 88 882 345
Donde cada elemento en la búsqueda son entonces de nuevo sustituye, y la sustitución sólo una vez, tal como una [2] 222, sólo se convierte sustituye al anterior 8822,