Jak sprawdzić istnienie argumentu wejściowego w skrypcie powłoki bash

Jak sprawdzić istnienie argumentu wejściowego w skrypcie powłoki bash
Skrypty powłoki Bash to potężne narzędzie do automatyzacji powtarzających się zadań i wykonywania złożonych operacji na wierszu poleceń. Jedną z podstawowych pojęć w scenariuszach powłoki jest przyjmowanie argumentów wejściowych od użytkownika lub innych skryptów. W przypadku argumentów wejściowych konieczne jest sprawdzenie, czy istnieje argument wejściowy, czy nie, aby uniknąć nieoczekiwanego zachowania w skrypcie. W tym artykule omówiono różne sposoby sprawdzenia istnienia argumentów wejściowych w skrypcie powłoki bash.

Jak sprawdzić istnienie argumentu wejściowego w skrypcie powłoki bash

Istnieją trzy różne sposoby:

  1. Korzystanie z polecenia „test”
  2. Używając zmiennej „$#”
  3. Korzystanie z opcji „-n”

Metoda 1: Korzystanie z polecenia „test”

Polecenie „testowe”, znane również jako polecenie „[”, jest wbudowanym poleceniem w Bash, które testuje różne warunki. Jednym z warunków, które możemy przetestować przy użyciu polecenia „test”, jest to, czy zmienna istnieje. Oto przykładowy kod do sprawdzenia, czy istnieje argument wejściowy za pomocą polecenia „Test”:

#!/bin/bash
Jeśli [-z „1 $”]
Następnie
Echo „brakuje argumentu wejściowego."
Wyjście 1
fi
Echo „istnieje argument wejściowy."

Tutaj opcja „-z” jest używana z poleceniem „test”, aby sprawdzić, czy argument wejściowy jest pustym ciągiem, czy nie. Skrypt wyświetli komunikat o błędzie i wyjdzie z kodem stanu 1, jeśli argument wejściowy jest pustym ciągiem. W przeciwnym razie skrypt będzie kontynuował wykonywanie poniżej, poniżej przedstawiłem i wprowadziłem argument dla kodu, aby wyświetlał przesłanie istnienia wejścia argumentu:

Metoda 2: Za pomocą zmiennej „$#”

„$#” 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 niż zero. Oto przykładowy kod do sprawdzenia, czy istnieje przynajmniej jeden argument wejściowy za pomocą „$#” zmienny:

#!/bin/bash
Jeśli [$# -eq 0]
Następnie
Echo „brakuje argumentu wejściowego."
Wyjście 1
fi
Echo „istnieje argument wejściowy."

Tutaj „-Eq” Operator służy do sprawdzenia, czy „$#” Zmienna jest równa zero lub nie, a jeśli zmienna „$#” jest równa zero, skrypt wyświetli komunikat o błędzie i wyjdzie z kodem stanu 1. W przeciwnym razie skrypt będzie kontynuował wykonywanie poniżej, poniżej przedstawiłem i wprowadziłem argument dla kodu, aby wyświetlał przesłanie istnienia wejścia argumentu:

Metoda 3: Korzystanie z opcji „-n”

"-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 istnieje argument wejściowy za pomocą "-N" opcja:

#!/bin/bash
Jeśli [-n „1 $”]
Następnie
Echo „istnieje argument wejściowy."
w przeciwnym razie
Echo „brakuje argumentu wejściowego."
Wyjście 1
fi

Tutaj "-N" Opcja służy do sprawdzenia, czy argument wejściowy nie jest pusty i czy argument wejściowy nie jest pusty, skrypt wyświetli komunikat sukcesu. W przeciwnym razie skrypt wyświetli komunikat o błędzie i wyjdzie z kodem statusu 1 poniżej, poniżej przedstawiłem i wprowadziłem argument dla kodu, aby wyświetlał komunikat istnienia wprowadzania argumentu:

Wniosek

W skryptach powłoki sprawdzanie 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 do sprawdzenia istnienia argumentów wejściowych, takich jak użycie polecenia „test”, zmiennej „$#” lub opcji „-n”. Wdrażając te techniki, tworzymy bardziej niezawodne i niezawodne skontlerze, które mogą obsługiwać argumenty wejściowe.