Jak sprawdzić, czy tablica bash zawiera wartość

Jak sprawdzić, czy tablica bash zawiera wartość

Bash to powszechnie używana powłoka UNIX, która zapewnia zestaw potężnych narzędzi do administrowania systemem i automatyzacji. Jedna z najczęściej używanych struktur programowania w skryptach bash jest tablica, która pozwala przechowywać wiele wartości w jednej zmiennej, ten artykuł omówi, jak sprawdzić, czy tablica bash zawiera określoną wartość.

Jak sprawdzić, czy tablica bash zawiera wartość

Oto trzy odrębne metody, które możesz użyć, aby ustalić, czy tablica w Bash zawiera wartość:

    • Za pomocą pętli
    • Korzystanie z polecenia GREP
    • Używając składni $ array [@]/wzór/zamiennik

Metoda 1: Za pomocą pętli

Jednym ze sposobów sprawdzenia, czy tablica bash zawiera wartość, jest iteracja nad tablicą za pomocą pętli dla dla każdego elementu z wartością, którą chcesz znaleźć, oto przykład:

#!/bin/bash
Cars = („BMW” „Volvo” „Kia”)
car_to_find = "kia"
W przypadku samochodu w „$ Cars [@]”
Do
Jeśli [„$ car” == "$ car_to_find"]
Następnie
echo "znalazł $ samochód!"
przerwa
fi
zrobione


Tutaj mam szereg marek samochodów i chcę znaleźć markę „Kia”, więc iteruję tablicę za pomocą pętli i porównywam każdą markę samochodu z marką, którą chcę znaleźć. Jeśli znajdziemy dopasowanie, drukujemy wiadomość i wychodzimy z pętli za pomocą instrukcji Break.

Metoda 2: Korzystanie z polecenia GREP

Korzystanie z polecenia GREP w celu poszukiwania wartości w tablicy jest kolejną techniką ustalenia, czy tablica bash ma wartość, oto ilustracja:

#!/bin/bash
Cars = („BMW” „Volvo” „Kia”)
car_to_find = "kia"
Jeśli echo "$ Cars [@]" | grep -qw „$ car_to_find”; Następnie
echo "Znaleziono $ car_to_find!"
w przeciwnym razie
echo "$ car_to_find nie znaleziono."
fi


Tutaj użyliśmy polecenia ECHO do wydrukowania tablicy na standardowym wyjściu i przewrócić ją do GREP. Opcja -q mówi Grep, aby był cicho i zwracał tylko kod stanu wskazujący, czy wzór został znaleziony, czy nie. Opcja -w mówi GREP do dopasowania wzoru jako całego słowa. Jeśli Grep znajdzie wzór, instrukcja IF drukuje komunikat wskazujący, że wartość została znaleziona.

Metoda 3: Za pomocą składni $ array [@]/wzór/zamiennik

Trzecim sposobem sprawdzenia, czy tablica bash zawiera wartość, jest użycie składni $ array [@]/wzór/zamiennik, aby zastąpić wartość, którą chcesz znaleźć innym ciągiem, a następnie porównać wynikową tablicę z oryginalną szyk. Oto przykład:

#!/bin/bash
Cars = („BMW” „Volvo” „Kia”)
car_to_find = "kia"
Jeśli [["$ cars [@]/$ car_to_find/" != "$ cars [@]"]]; Następnie
echo "Znaleziono $ car_to_find!"
w przeciwnym razie
echo "$ car_to_find nie znaleziono."
fi


Tutaj używamy składni $ array [@]/wzór/zamiennik, aby usunąć wartość, którą chcemy znaleźć z tablicy, a jeśli wynikowa tablica różni się od oryginalnej tablicy, oznacza to, że znaleziono wartość znalezioną wartość.

Wniosek

Omówiliśmy trzy różne metody sprawdzania, czy tablica bash zawiera wartość: za pomocą pętli, za pomocą polecenia GREP i za pomocą składni $ @]/wzór/zamiennik. Korzystając z tych technik, możesz skutecznie przeszukiwać tablice Bash i wykonywać niezbędne operacje na znalezionych wartościach.