Składnia:
Getopts optstring Nazwa [Args]
Opcje:
Niektóre głównie używane opcje getopts są wymienione tutaj.
Etykietka | Opis |
-o lub -options | Zidentyfikuj opcję jednoosobową. |
-L lub -longoptions | Zidentyfikuj opcje wielu znaków. |
-n lub -name | Zgłoś błędy pochodzące z polecenia GetOpts |
-Q lub -Quiet | Wyłącz raportowanie błędów |
-T lub -test | Wersja testowa getopts |
-A lub -alternatywny | Zezwalaj na długą opcję z pojedynczym '-' |
Przykład-1: Używanie jednego opcja
Ten przykład pokazuje bardzo proste użycie polecenia GetOpts. Utwórz plik bash o nazwie „getopts1.sh 'z następującym kodem do przetestowania kodu. Tutaj, podczas gdy pętla będzie kontynuowana dla opcji polecenia getopts. Instrukcja sprawy sprawdzi opcję. Jeśli opcją jest „C”, skrypt wydrukuje „Mój ulubiony kolor to niebieski”. Jeśli opcją jest „f”, skrypt wydrukuje „moje ulubione jedzenie to lody”. Jeśli opcją jest „-m”, skrypt wydrukuje „Mój ulubiony film to Titanic”. W przypadku dowolnej innej wartości opcji „musisz użyć: [-c] lub [-f] lub [-m]”.
#!/bin/bash
# Przeczytaj opcję i przechowuj w opcji zmiennej, $
podczas gdy getopts „cfm”; Do
case $ opcja w
c) #dla opcji C
Echo „Mój ulubiony kolor to niebieski”
;;
f) #dla opcji F
echo „moim ulubionym jedzeniem jest lody”
;;
m) #dla opcji m
Echo „moim ulubionym filmem jest Titanic”
;;
\? ) #Dla nieprawidłowej opcji
echo „musisz użyć: [-c] lub [-f] lub [-m]”
;;
esac
zrobione
Uruchom skrypt za pomocą czterech opcji, „-c”, '-f', '-m' i '-k'.
$ bash getopts1.sh -c
$ bash getopts1.sh -f
$ bash getopts1.sh -m
$ bash getopts1.sh -k
Wyjście:
Przykład-2: Korzystanie z opcji z jednym argumentem
Ten przykład pokazuje użycie polecenia getopts z argumentem. Utwórz plik bash o nazwie „getopts2.sh 'z następującym kodem do przetestowania kodu. Tutaj „:” jest używany z „p” do zdefiniowania, że polecenie przyjmie argument z opcją. Skrypt wydrukuje wartość argumentu z innym ciągiem, jeśli argument z opcją „-p” zawiera w czasie wykonywania. Jeśli jakakolwiek opcja dostarczy zamiast „-p”, wyświetli komunikat o błędzie o wartości opcji. Jeśli opcja „-p” dostarczy bez żadnego argumentu, wydrukuje inny komunikat o błędzie.
#!/bin/bash
podczas getopts „p:” opt; Do
case $ opt w
p)#printu wartość argumentu
echo „Lubię $ optarg programowanie”
;;
\? )
#PRINT BŁĄD OPCJĄ
echo „Nieprawidłowa opcja: $ optarg” 1> i 2
;;
:)
Błąd argumentu #print
echo „Nieprawidłowa opcja: $ optarg wymaga argumentu” 1> i 2
;;
esac
zrobione
Uruchom skrypt z opcją -p i wartością argumentu „Bash”, z opcją -p i z opcją -t.
$ bash getopts2.bash sh -p
$ bash getopts2.sh -p
$ bash getopts2.sh -t
Wyjście:
Przykład-3: Korzystanie z opcji z wieloma argumentami
Ten przykład pokazuje zastosowania polecenia getopts z wieloma argumentami. Utwórz skrypt bash o nazwie grtopts3.SH z następującym kodem do przetestowania skryptu. Zgodnie ze skryptem wartości argumentów oddzielone przecinki zostaną dostarczone z wiersza poleceń.
Tutaj opcja „-f” i zmienna IFS są używane do podziału argumentów i przechowywanych w tablicy, $ Numarr. Jeśli dostarczą argumenty oddzielone przecinkami, wydrukują całkowitą liczbę argumentów. Dwie opcje będą obsługiwać polecenie. Suma wartości argumentów zostanie obliczona i wydrukowana, jeśli opcja „-a” dostarczy argumentów. Mnożenie wartości argumentów zostanie obliczone i wydrukowane, jeśli opcja „-m” dostarczy argumentów.
#!/bin/bash
podczas gdy getopts „a: m:” opt; Do
set -f; Ifs = ','
Numarr = (2 USD)
echo "Całkowita liczba argumentów = $ #numarr [@]"
sprawa $ opt in
a) wynik = 0
dla i in „$ numarr [@]”; Do
((wynik = $ wynik+$ i))
zrobione
echo „suma wszystkich argumentów = $ wynik” ;;
m) wynik = 1
dla i in „$ numarr [@]”; Do
((wynik = $ wynik*$ i))
zrobione
echo „Mnożenie wszystkich argumentów = $ wynik” ;;
*) Echo „Niepoprawna opcja lub argument”
Wyjście 1
esac
zrobione
Uruchom skrypty z opcją „-A” i trzema argumentami, z opcją „-m” i trzema argumentami i opcją „-t” bez żadnych argumentów.
$ bash getopts3.SH -A 3,2,5
$ bash getopts3.SH -M 3,2,5
$ bash getopts3.sh -t
Wyjście:
Przykład-4: Korzystanie z wielu opcji i argumentów
Ten przykład pokazuje użycie polecenia getopts z wieloma opcjami i wieloma argumentami. Utwórz plik bash o nazwie „getopts4.SH z następującym kodem do przetestowania przykładu. Tutaj dwie opcje będą działać z dwoma argumentami osobno. Jeśli żadna z opcji nie zostanie dostarcza, wydrukuje komunikat o błędzie.
#!/bin/bash
podczas gdy getopts „n: m:” opt; Do
sprawa $ opt in
N)
#Przeczytanie pierwszego argumentu
echo „Nazwa ucznia to $ optarg”> i 2
;;
M)
#Przeczytanie drugiego argumentu
echo ", a znaki to $ optarg"> i 2
;;
*)
#Printing Komunikat o błędzie
echo „Nieprawidłowa opcja lub argument $ optarg”
;;
esac
zrobione
Kiedy skrypt będzie uruchomiony przez opcję „-n” z opcją „ella” i „-m” z 85, wówczas dwa instrukcje przypadków będą prawdziwe i wydrukują dwa wyjścia. Gdy skrypt będzie działał tylko przez opcję „-n” z „ella”, to tylko jedno instrukcja przypadku będzie prawdziwa i wydrukuje jedno wyjście. Gdy skrypt zostanie uruchomiony przez opcję „-p”, wydrukuje komunikat o błędzie.
$ bash getopts4.sh -n ella -m 85
$ bash getopts4.sh -n ella
$ bash getopts4.sh -p ella
Podstawowe zastosowania polecenia „getopts” są pokazane w tym samouczku za pomocą powyższych przykładów. Mam nadzieję, że po ćwiczeniu tego samouczka będziesz mógł użyć opcji i argumentów wiersza poleceń w skrypcie Bash.