En matrise er en samling av elementer. I Bash kan en matrise inneholde en blanding av elementer av forskjellige typer, f.eks. Strenger og tall.
I denne opplæringen diskuterer vi hvordan du lager og bruker matriser i Bash. Vi vil også dekke array-operasjoner som looping, utskrift, størrelse og modifisering av innholdet.
Det er to måter vi kan lage Bash arrays:
declare -a my_bash_array
Dette vil opprette en indeksert matrise med navnet “my_bash_array”.
Vi kan også opprette og initialisere matriser med det samme ved hjelp av oppdragsoperatøren =
og elementene i krøllete bukseseler ()
:
my_bash_array=('apple' 'orange' 'banana')
Eller vi kan også spesifisere indeksen eksplisitt
my_bash_array[0]='apple' my_bash_array[1]='orange' my_bash_array[2]='banana'
Merk:Det skal ikke være mellomrom på hver side av = operatør.For å få lengden eller størrelsen på en matrise bruker vi ${#array_name[@]}
.
For eksempel:
my_bash_array=(foo bar baz) echo 'the array contains ${#my_bash_array[@]} elements' #Output the array contains 3 elements
For å iterere gjennom alle elementene i en Bash-matrise, kan vi bruke for loop:
#!/bin/bash my_array=(foo bar baz) # for loop that iterates over each element for i in '${my_array[@]}' do
echo $i done
Produksjon:
foo bar baz
For å skrive ut alle elementene i en matrise uten løkke, kan vi bruke følgende syntaks:
echo ${my_array[@]}
For å legge til elementer i en matrise bruker vi +=
operatør. Dette vil legge til et element til slutten av matrisen.
For eksempel:
my_array=(foo bar) my_array+=(baz) echo '${my_array[@]}' foo bar baz
Eller vi kan bruke indeksen til å legge til et element:
my_array=(foo bar) my_array[2]=baz echo '${my_array[@]}' foo bar baz
For å slette et element fra en Bash-matrise, bruker vi unset
kommando.
For eksempel:
my_array=(foo bar baz) unset my_array[1] echo ${my_array[@]} foo baz
I denne opplæringen dekket vi Bash arrays; hvordan du lager og initialiserer matriser i Bash og hvordan du får lengden, går over elementer, skriver ut elementer og endrer innholdet i en matrise.