Trova la lunghezza dell'array in bash

Trova la lunghezza dell'array in bash
Gli array sono un mezzo eccellente per archiviare un gran numero di valori di dati che appartengono allo stesso tipo di dati. Sono usati molto ampiamente in tutti i linguaggi di programmazione là fuori. Gli array possono avere dimensioni variabili a seconda delle esigenze del programmatore. Inoltre, possono essere statici o dinamici. Gli array statici sono quelli le cui dimensioni sono predefinite, mentre le dimensioni degli array dinamici sono definite in fase di esecuzione. Tuttavia, ci sono più programmi la cui intera logica dipende dalla ricerca delle dimensioni o della lunghezza di un array.

Pertanto, ci deve essere un modo attraverso il quale possiamo ottenere la dimensione o la lunghezza esatta di un array in modo da poter scrivere programmi efficienti con l'aiuto di esso. Proprio come altri linguaggi di programmazione, Bash ti consente anche di creare array e giocare con loro. Inoltre, puoi eseguire tutte quelle operazioni con array in bash come puoi fare con qualsiasi altro linguaggio di programmazione. In questo tutorial, desideriamo insegnarti i metodi per trovare la lunghezza dell'array in Bash su un Ubuntu 20.04 Sistema.

Metodo per trovare la lunghezza dell'array in Bash in Ubuntu 20.04

Per trovare la lunghezza dell'array in bash, puoi utilizzare diverse notazioni. Tuttavia, per avere un'idea migliore di usare quelle notazioni, puoi dare un'occhiata ai seguenti tre esempi. I primi due esempi si basano sull'uso di base delle due diverse notazioni attraverso le quali è possibile trovare la lunghezza dell'array in bash mentre il terzo esempio farà uso pratico di questa lunghezza dell'array in uno script bash.

Esempio n. 1: trovare la lunghezza dell'array con la variabile speciale $@ in bash

Per usare la notazione $@@ per trovare la lunghezza dell'array in bash, abbiamo scritto lo script bash mostrato nell'immagine qui sotto:

In questo script bash, abbiamo dichiarato un array con il nome "nomi" e assegnato a tre valori di stringa i.e. Aqsa, Ahmed e Ayesha. Dopodiché, abbiamo creato una variabile denominata "len". Volevamo che questa variabile mantenga la lunghezza dell'array di nomi. Abbiamo assegnato la lunghezza del nostro matrice di nomi a questa variabile usando la notazione $@@. Quindi abbiamo un comando Echo per stampare un messaggio sul terminale. Infine, abbiamo un altro comando Echo che stamperà il valore della variabile "len" i.e. la lunghezza dei nostri nomi Array.

Ora eseguiremo questo script bash con il seguente comando dopo averlo salvato:

$ Bash Lunghezza.sh

In questo comando, lunghezza.Sh è il nome del nostro file di script bash. Puoi sostituirlo con il nome del file di script bash che creerai.

Quando questo script verrà eseguito correttamente, vedrai la lunghezza dell'array dell'array di nomi sul terminale come mostrato nell'immagine seguente:

Significa che la notazione $#@ ha ​​stampato correttamente la lunghezza dei nostri nomi Array i.e. 3.

Esempio n. 2: trovare la lunghezza dell'array con la variabile speciale $ #* in bash:

In questo esempio, abbiamo lo stesso script che abbiamo usato per il nostro primo esempio. L'unica differenza è che in questo script abbiamo usato la notazione $#* per trovare la lunghezza dell'array in bash anziché la notazione $@@. Le notazioni $#* e $#@ in bash sono usate per lo più in modo intercambiabile poiché entrambi hanno lo stesso scopo. Il nostro esempio di script bash per questa modifica è mostrato nella seguente immagine:

Nello script bash mostrato nell'immagine sopra, abbiamo appena sostituito "@" con "*" nella riga n. 3 della nostra sceneggiatura. Il resto della sceneggiatura è precisamente identico a quello del nostro primo esempio.

Ora eseguiremo questo script bash leggermente modificato con lo stesso comando che abbiamo condiviso con te nel nostro primo esempio. Quando abbiamo eseguito questo script bash, il nostro output si è rivelato essere lo stesso di quello del nostro primo esempio. Puoi confermarlo dall'immagine che abbiamo allegato di seguito.

Significa che la notazione $#* ha anche stampato correttamente la durata dei nostri nomi, il che a sua volta implica che le notazioni $@@ e $#* possono essere usate in modo intercambiabile per servire gli stessi scopi.

Esempio n. 3: usando la lunghezza dell'array come condizione per loop in bash:

Ora, questo esempio è leggermente complesso dei primi due esempi. Qui, vorremmo menzionare che puoi usare una delle due notazioni da $#@ e $#* per aver scritto questo script bash. Dovrai scrivere uno script bash simile a quello mostrato nella seguente immagine per eseguire questo esempio:

In questo script, abbiamo semplicemente dichiarato una serie di "nomi" e gli abbiamo assegnato tre valori i.e. Aqsa, Ahmed e Ayesha. Successivamente, abbiamo dichiarato una variabile denominata "len" e assegnata ad essa la lunghezza del nostro array di nomi mentre usi la notazione $#*. Quindi abbiamo stampato il valore della variabile "len" sul terminale i.e. la lunghezza dei nostri nomi Array. Fino ad ora, questa sceneggiatura bash sembrava gli script che abbiamo usato per i nostri primi due esempi. Ma da qui in poi, questo script contiene alcuni pezzi di codice aggiuntivi.

Volevamo stampare gli elementi di questo array sul terminale. Per questo, abbiamo un "Loop" che itera attraverso la variabile "I" e la condizione di terminazione di questo ciclo dipende dalla lunghezza del nostro array di nomi, o in altre parole, dipende dal valore della variabile "Len" che nel nostro caso era 3. Significa che il nostro "per loop" avrà un totale di tre iterazioni. All'interno di questo "per loop", abbiamo appena provato a stampare i valori di tutti gli indici del nostro array.

Dopo aver salvato questo script bash, l'abbiamo eseguito usando lo stesso comando che abbiamo condiviso con te nel nostro primo esempio. Al momento dell'esecuzione, questo script ha stampato per la prima volta il valore della variabile "len" o la lunghezza dei nostri nomi array i.e. 3. Successivamente, questo script ha anche stampato tutti gli elementi dell'array di nomi sul terminale come si può vedere dall'immagine mostrata di seguito:

Questo era solo un utilizzo di base della lunghezza di un array in bash. Tuttavia, usando queste notazioni, è possibile creare esempi ancora più complessi.

Conclusione

In questo articolo, abbiamo condiviso con te le due diverse notazioni con cui puoi scoprire la lunghezza di un array in Bash in Ubuntu 20.04 molto facilmente. Queste notazioni erano $#@ e $#*. Entrambe queste notazioni funzionano allo stesso modo, motivo per cui possono essere usate in modo intercambiabile. Dopo aver condiviso con te l'uso di base di queste due notazioni, abbiamo condiviso con te un esempio relativamente complesso che fa uso della lunghezza di un array che è stato trovato mentre utilizzava una di queste due notazioni. Ora, quando hai imparato i metodi per trovare la lunghezza di un array in Bash in Ubuntu 20.04, non sarà più un problema per scrivere programmi bash che dipendono interamente dalle lunghezze o dalle dimensioni degli array utilizzati in quei programmi.