Hvordan finne lengden på en matrise i skallskriptet
Å finne lengden på en matrise i skallet kan være nyttig for å sløyfe over elementer og utføre operasjoner på dem. Det kan også brukes til å bekrefte at en matrise har et visst antall elementer før du fortsetter med et manus, nedenfor er noen måter å gjøre det på:
Metode 1: Bruke innebygd parameter
Den enkleste måten å finne lengden på en matrise er å bruke Shell innebygd parameter $ #array [@] eller $ #array [*]. @ Og * -symbolene brukes til å referere til alle elementene i matrisen.
#!/bin/bash
my_array = (rødblå rosa)
ekko "Lengden på matrisen er $ #my_array [@]"
Her er utgangen fra skallskriptet som bruker det innebygde parameteren for å få lengden på en matrise:
Metode 2: Bruke Expr -kommando
Expr -kommandoen brukes til å evaluere et uttrykk og skrive ut resultatet til standardutgang. Vi kan bruke WC -W -kommandoen til å telle antall elementer i matrisen og overføre resultatet til Expr -kommandoen for å få lengden på matrisen.
#!/bin/bash
my_array = (rødblå rosa)
lengde = $ (ekko $ my_array [@] | wc -w)
ekko "Lengden på matrisen er $ (expr $ lengde)"
Her er utdataene fra skallskriptet som bruker Expr for å få lengden på en matrise:
Metode 3: Bruker for loop
Vi kan også finne lengden på en matrise ved å bruke en for loop. I denne metoden itererer vi gjennom hvert element i matrisen og teller antall elementer.
#!/bin/bash
my_array = (rødblå rosa)
lengde = 0
for jeg i "$ my_array [@]"
gjøre
lengde = $ ((lengde+1))
Ferdig
ekko "Lengden på matrisen er $ lengde"
Konklusjon
I denne artikkelen har vi undersøkt forskjellige måter å finne lengden på en matrise i Shell Scripting. Vi har brukt Shell innebygd parameter $ #array [@], expr-kommandoen og en for loop for å finne lengden på matrisen. Alle tre metodene er like effektive, og det avhenger av brukerens preferanse og krav for å velge riktig metode.