Hvordan finne lengden på en matrise i skallskriptet

Hvordan finne lengden på en matrise i skallskriptet
Shell Scripting er en essensiell ferdighet som hver Linux- eller UNIX -administrator må ha. Evnen til å manipulere og behandle data er en av nøkkeloppgavene til en Linux/Unix -administrator. Å finne en matrise lengde er en hyppig operasjon i skallskripting. Det totale antallet elementer i en matrise bestemmer matrisens lengde. Vi vil se på forskjellige shell -skripteknikker i dette innlegget for å bestemme en matrise lengde.

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å:

  • Ved hjelp av innebygd parameter
  • Bruke expr -kommando
  • Bruker for loop

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.