Podczas pracy z skryptami Bash możesz napotkać sytuacje, w których musisz przekazać argumenty do swojego skryptu za pośrednictwem wiersza poleceń. W tym artykule zbadamy różne sposoby czytania argumentów wiersza poleceń w BASH i podajemy przykłady każdej metody.
Jakie są argumenty wiersza poleceń w Bash
Argumenty wiersza poleceń w bash są parametry przekazywane do skryptu lub polecenia bashu, gdy jest wykonywany z wiersza poleceń. Służą one do dostosowania zachowania skryptu lub polecenia i mogą zawierać opcje, flagi lub wartości używane przez skrypt lub polecenie do wykonywania określonych zadań.
Jak odczytać argumenty wiersza poleceń w bicie
Aby zmodyfikować zachowanie argumentów wiersza poleceń skryptu, są głównie używane opcje lub flagi. Na przykład możesz mieć skrypt, który wykonuje operację kopii zapasowej, i chcesz podać opcję określenia folderu docelowego dla kopii zapasowej. Oto trzy sposoby, w jakie można odczytać argumenty wiersza poleceń w skrypcie Bash:
Jak odczytać argumenty wiersza poleceń za pomocą Command w Bash
Najbardziej podstawowym sposobem czytania argumentów wiersza poleceń w BASH jest użycie zmiennych 0 USD, 1 USD, 2 USD itp. Zmienne te reprezentują nazwę skryptu (0 USD) i parametry pozycyjne przekazane do skryptu (1 USD, 2 USD itp.). Oto przykład kodu bash, który używa komendy $ do odczytu argumentów wiersza poleceń:
#!/bin/bash
Echo „Nazwa skryptu: 0 $”
Echo „Argument1: 1 USD”
Echo „Argument2: 2 USD”
Ten skrypt odczytuje argumenty wiersza poleceń w Bash za pomocą zmiennych 0 USD, 1 USD i 2 USD. Zmienna 0 USD zawiera nazwę samego skryptu, a 1 USD i 2 USD zawierają odpowiednio pierwsze i drugie argumenty wiersza poleceń oraz przekazywanie argumentów do skryptu tutaj jest składnia:
Tutaj nazwa pliku może być uwzględniona jako argument, jeśli zaczną od 0 USD i tak dalej, ten skrypt odczytuje argumenty wiersza poleceń w Bash za pomocą zmiennych 0 USD, 1 USD i 2 USD. Zmienna 0 USD zawiera nazwę samego skryptu, podczas gdy 1 USD i 2 USD zawierają odpowiednio pierwsze i drugie argumenty wiersza poleceń, a poniżej jest dla niej wyjście:
Jak odczytać argumenty wiersza poleceń za pomocą polecenia Shift w Bash
Polecenie „przesunięcia” w Bash pozwala przesunąć parametry pozycyjne w lewo, odrzucając pierwszy argument i przesuwając resztę w dół o jedną pozycję. Może to być przydatne, jeśli chcesz przetwarzać argumenty w pętli lub jeśli chcesz obsługiwać argumenty w określonej kolejności. Oto przykład:
!/bin/bash
Echo „Nazwa skryptu: 0 $”
podczas gdy [„$#” -GT 0]; Do
Echo „Argument1”: 1 USD
zmiana
zrobione
Skrypt rozpoczyna się od wydrukowania nazwy skryptu za pomocą zmiennej 0 $, która zawiera nazwę skryptu, tak jak został wywołany z wiersza poleceń. Kolejna sekcja skryptu to pętla, która sprawdza, czy istnieją jakieś argumenty wiersza poleceń do przetworzenia. Robi to, sprawdzając wartość specjalnej zmiennej $#, która zawiera liczbę argumentów wiersza poleceń.
Pętla następnie drukuje bieżący argument za pomocą zmiennej 1 USD, która zawiera pierwszy argument, a następnie używa polecenia Shift do usunięcia pierwszego argumentu z listy argumentów wiersza poleceń. To zmienia wszystkie pozostałe argumenty o jedną pozycję, więc 1 USD staje się drugim argumentem, 2 USD staje się trzecim argumentem i tak dalej.
Jak odczytać argumenty wiersza poleceń za pomocą getopts
Polecenie „getopts” w Bash pozwala przeanalizować argumenty i opcje wiersza poleceń, jest to pomocne, gdy trzeba podać opcjonalne argumenty lub flagi skryptu. Oto przykładowy kod, który korzysta z polecenia GetOpts i odczytał dwa argumenty z wiersza poleceń:
#!/bin/bash
podczas getopts ": a: b:" opt; Do
sprawa $ opt in
a) arg1 = "$ optarg"
;;
b) arg2 = "$ optarg"
;;
\?) echo „nieprawidłowa opcja -$ optarg”> i 2
;;
esac
zrobione
Echo „Argument 1: $ arg1”
Echo „Argument 2: $ arg2”
Polecenie GetOpts służy do iteracji opcji i argumentów wiersza poleceń. Wymaga dwóch argumentów: jeden to ciąg wszystkich oczekiwanych opcji, a druga to nazwa zmiennej, która będzie utrzymywała wartość aktualnie przetworzonej opcji.
W tym skrypcie oczekiwane opcje to -a i -b, po których następują odpowiednie argumenty. Polecenie getopts analizuje te opcje i argumenty i przypisuje je do zmiennej $ opt.
Instrukcja sprawy jest następnie używana do przetwarzania każdej opcji. Jeśli opcja wynosi -a, wartość odpowiedniego argumentu jest przypisana do zmiennej $ arg1. Jeśli opcja wynosi -B, wartość odpowiedniego argumentu jest przypisana do zmiennej $ arg2. Jeśli wykryto nieprawidłową opcję, komunikat o błędzie jest wydrukowany na konsolę.
Po przetworzeniu wszystkich opcji i argumentów skrypt drukuje wartości $ arg1 i $ arg2 na konsolę za pomocą polecenia echo, oto wyjście dla kodu:
Wniosek
Argumenty wiersza poleceń w Bash służą do przekazywania parametrów do skryptu lub polecenia, gdy jest on wykonywany z wiersza poleceń. Mogą zawierać wartości, opcje lub flagi, które modyfikują zachowanie skryptu i są niezbędne do dostosowania zachowania skryptów i poleceń Bash. Istnieją trzy sposoby odczytania argumentów wiersza poleceń, które są: używając $ sign, używa.