Jak sprawdzić istnienie argumentu wejściowego w skrypcie powłoki Bash
Istnieją trzy różne sposoby:
Metoda 1: Użycie polecenia „test”.
Polecenie „test”, znane również jako polecenie „[”, jest wbudowanym poleceniem w Bash, które sprawdza różne warunki. Jednym z warunków, które możemy przetestować za pomocą polecenia „test”, jest to, czy zmienna istnieje, czy nie. Oto przykładowy kod sprawdzający, czy istnieje argument wejściowy za pomocą polecenia „test”:
#!/bin/bash
Jeśli [ -z „1 $” ]
Następnie
Echo „Brak argumentu wejściowego”.
Wyjście 1
Być
Echo „Argument wejściowy istnieje”.
Tutaj opcja „-z” jest używana z poleceniem „test”, aby sprawdzić, czy argument wejściowy jest pustym łańcuchem, czy nie. Skrypt wyświetli komunikat o błędzie i zakończy działanie z kodem stanu 1, jeśli argument wejściowy jest pustym łańcuchem. W przeciwnym razie skrypt będzie kontynuował wykonywanie, poniżej podałem i wprowadziłem argument dla kodu, aby wyświetlał komunikat o istnieniu wprowadzenia argumentu:
Metoda 2: Użycie zmiennej „$#”.
The „$#” zmienna przechowuje liczbę argumentów wejściowych przekazanych do skryptu. Jeśli skrypt oczekuje co najmniej jednego argumentu wejściowego, możemy sprawdzić, czy „$#” zmienna jest większa od zera. Oto przykładowy kod sprawdzający, czy istnieje co najmniej jeden argument wejściowy przy użyciu metody „$#” zmienny:
#!/bin/bash
Jeśli [ $# -równ 0 ]
Następnie
Echo „Brak argumentu wejściowego”.
Wyjście 1
Być
Echo „Argument wejściowy istnieje”.
Tutaj „-równ.” operator służy do sprawdzania, czy „$#” zmienna jest równa zero lub nie, a jeśli zmienna „$#” jest równa zero, skrypt wyświetli komunikat o błędzie i zakończy działanie z kodem stanu 1. W przeciwnym razie skrypt będzie kontynuował wykonywanie, poniżej podałem i wprowadziłem argument dla kodu, aby wyświetlał komunikat o istnieniu wejścia argumentu:
Metoda 3: Korzystanie z opcji „-n”.
The '-N' opcja służy do sprawdzenia, czy zmienna nie jest pusta. Możemy użyć tej opcji, aby sprawdzić, czy argument wejściowy istnieje, czy nie. Poniżej podałem przykładowy kod, który sprawdza, czy argument wejściowy istnieje przy użyciu metody '-N' opcja:
#!/bin/bashJeśli [ -N „1 $” ]
Następnie
Echo „Argument wejściowy istnieje”.
w przeciwnym razie
Echo „Brak argumentu wejściowego”.
Wyjście 1
Być
Tutaj '-N' opcja służy do sprawdzenia, czy argument wejściowy nie jest pusty i jeśli argument wejściowy nie jest pusty, skrypt wyświetli komunikat o powodzeniu. W przeciwnym razie skrypt wyświetli komunikat o błędzie i zakończy działanie z kodem stanu 1, poniżej podałem i wprowadziłem argument dla kodu, aby wyświetlić komunikat o istnieniu wprowadzenia argumentu:
Wniosek
W skryptach powłoki sprawdzenie istnienia argumentów wejściowych jest niezbędnym krokiem, aby upewnić się, że skrypt działa zgodnie z oczekiwaniami. Możemy użyć różnych technik, aby sprawdzić istnienie argumentów wejściowych, takich jak polecenie „test”, zmienna „$#” lub opcja „-n”. Wdrażając te techniki, tworzymy solidniejsze i bardziej niezawodne skrypty powłoki, które mogą obsługiwać argumenty wejściowe.