Jak zdobyć argumenty z flagami w Bash

Jak zdobyć argumenty z flagami w Bash
Bash to powszechnie używany język powłoki i poleceń używany w systemach Unix i Linux. Zapewnia różne sposoby przekazywania argumentów do scenariuszy Shell, w tym używanie flag do przekazywania opcjonalnych argumentów, ten artykuł omówi, jak uzyskać argumenty z flagami w Bash.

Uzyskanie kłótni z flagami w Bash

Aby uzyskać argumenty z flagami w Bash, możesz użyć polecenia „getopts”. Polecenie „getopts” to wbudowana funkcja w BASH, której można użyć do analizowania opcji i argumentów wiersza poleceń. To wymaga Trzy argumenty: ciąg opcji, zmienna do przechowywania bieżącej opcji, i nazwa zmiennej do przechowywania pozostałych argumentów. Oto przykład:

#!/bin/bash
podczas getopts ": x: y:" opt; Do
sprawa $ opt in
X)
arg1 = "$ optarg"
;;
y)
arg2 = "$ optarg"
;;
\?)
echo „Nieprawidłowe: -$ optarg”> i 2
;;
:)
Echo „Opcja -$ optarg wymaga argumentu."> I 2
;;
esac
zrobione
Shift $ ((optind-1))
Echo „Argument 1: $ arg1”
Echo „Argument 2: $ arg2”

Tutaj polecenie „getopts” służy do analizowania opcji wiersza poleceń „-x” i „-y”. Znak „:” po każdej opcji wskazuje, że opcja wymaga argumentu, a zmienna „Opt” przechowuje bieżącą opcję, a zmienne „arg1” i „arg2” przechowują odpowiednie argumenty.

Instrukcja „sprawa” służy do obsługi każdej opcji, więc jeśli opcja to „x”, argument jest przechowywany w „Arg1”. Jeśli opcją jest „Y”, argument jest przechowywany w „Arg2”.Komunikat o błędzie jest wyświetlany, gdy podana jest nieprawidłowa opcja, a także gdy nie podano żadnego argumentu, nawet jeśli opcja wymaga jednego.

Optarg służy do przechowywania wartości argumentu przekazywanego z opcjami -x lub -y, podczas gdy Optind -1 służy do przesunięcia parametrów pozycyjnych w celu wykluczenia opcji i ich argumentów, pozostawiając tylko argumenty nieopisyjne.

Po parsowaniu opcji polecenie „Shift” służy do usunięcia opcji z listy argumentów. Zapewnia to, że pozostałe argumenty są przechowywane we właściwej zmiennej.Aby użyć skryptu z flagami, możesz uruchomić skrypt z opcjami i argumentami flagowymi, takimi jak ten:

./ - -

Wniosek

Używając flag do przekazywania opcjonalnych argumentów do bashów może sprawić, że skrypty są bardziej elastyczne i potężne, a przy poleceniu „getopts” możesz łatwo przeanalizować argumenty i opcje wiersza poleceń. Postępując zgodnie z przykładem w tym artykule, możesz zaimplementować flagi we własnych skryptach bash i z łatwością je obsługiwać.