Jak znaleźć długość tablicy w skrypcie Shell

Jak znaleźć długość tablicy w skrypcie Shell
Skrypty powłoki jest niezbędną umiejętnością, którą musi posiadać każdy administrator Linux lub UNIX. Możliwość manipulowania i przetwarzania danych jest jednym z kluczowych zadań administratora Linux/UNIX. Znalezienie długości tablicy jest częstą operacją w scenariuszu skorupy. Całkowita liczba elementów w tablicy określa długość tablicy. W tym poście przyjrzymy się różnym technikom skorupy, aby określić długość tablicy.

Jak znaleźć długość tablicy w skrypcie Shell

Znalezienie długości tablicy w skorupce może być przydatne do zapętlania elementów i wykonywania operacji na nich. Można również użyć do sprawdzenia, czy tablica ma pewną liczbę elementów przed kontynuowaniem skryptu, poniżej są kilka sposobów:

  • Za pomocą wbudowanego parametru
  • Za pomocą polecenia Expr
  • Używanie do pętli

Metoda 1: Za pomocą wbudowanego parametru

Najprostszym sposobem na znalezienie długości tablicy jest użycie wbudowanego parametru powłoki $ #array [@] lub $ #array [*]. Symbole @ i * służą do odwołania się do wszystkich elementów tablicy.

#!/bin/bash
my_array = (czerwony niebieski róż)
echo „Długość tablicy to $ #my_array [@]”

Oto wyjście skryptu powłoki, który wykorzystuje wbudowany parametr, aby uzyskać długość tablicy:

Metoda 2: Korzystanie z polecenia Expr

Polecenie Expr służy do oceny wyrażenia i wydrukowania wyniku na standardowe wyjście. Możemy użyć polecenia WC -W, aby policzyć liczbę elementów w tablicy i przekazać wynik do polecenia Expr, aby uzyskać długość tablicy.

#!/bin/bash
my_array = (czerwony niebieski róż)
długość = $ (echo $ my_array [@] | wc -w)
Echo „Długość tablicy to $ (expr $ długość)”

Oto wyjście skryptu powłoki, który wykorzystuje Expr, aby uzyskać długość tablicy:

Metoda 3: Zastosowanie do pętli

Możemy również znaleźć długość tablicy za pomocą pętli dla. W tej metodzie iterujemy każdy element tablicy i liczymy liczbę elementów.

#!/bin/bash
my_array = (czerwony niebieski róż)
długość = 0
bo in „$ my_array [@]”
Do
długość = $ ((długość+1))
zrobione
Echo „Długość tablicy ma długość $”

Wniosek

W tym artykule zbadaliśmy różne sposoby znalezienia długości tablicy w skrócie skorupy. Użyliśmy wbudowanego parametru powłoki $ #array [@], polecenie expr i a dla pętli, aby znaleźć długość tablicy. Wszystkie trzy metody są równie skuteczne i zależy od preferencji i wymagań użytkownika, aby wybrać odpowiednią metodę.