Używając zmiennych argumentów:
Zmienna argumentu zaczyna się od $0. Nazwa głównego pliku skryptu jest przechowywana w $0, który otrzymuje wartości argumentów z argumentów wiersza poleceń. Jeśli w wierszu poleceń zostaną przekazane dwa argumenty, wartości argumentów zostaną odebrane kolejno w zmiennych $1 i $2.
Przykład -1: Wysyłanie trzech wartości liczbowych jako argumentów
Utwórz plik bash i dodaj następujący kod. Skrypt otrzyma trzy wartości argumentów i zapisze je w $1, $2 i $3. Zliczy całkowitą liczbę argumentów, wypisze wartości argumentów z pętlą i bez pętli. Na koniec wypisz sumę wszystkich wartości argumentów.
#!/kosz/bash
# Liczenie całkowitej liczby argumentów
wyrzucił 'Całkowita liczba argumentów: $#'
# Czytanie wartości argumentów indywidualnie
wyrzucił 'Wartość pierwszego argumentu: $1'
wyrzucił 'Wartość drugiego argumentu: $2'
wyrzucił 'Wartość trzeciego argumentu: 3 USD'
# Odczytywanie wartości argumentów za pomocą pętli
dlaargvalw ' [e-mail chroniony] '
robić
wyrzucił -n '$argval'
Gotowe
# Dodawanie wartości argumentów
suma= $((1 zł+2 zł+3 zł))
# wydrukuj wynik
wyrzucił -I ' Wynik sumy =$sum'
Uruchom plik bash z trzema wartościami liczbowymi argumentów.
$grzmotnąćcmdline1.shpięćdziesiąt 35 piętnaście
Przykład -2: Przyjmowanie nazwy pliku jako argumentu
Utwórz plik bash i dodaj następujący kod, aby policzyć całkowitą liczbę znaków dowolnego pliku. Tutaj nazwa pliku zostanie przekazana jako argument wiersza poleceń.
#!/kosz/bashNazwa pliku=1 zł
totalchar=``toaleta -C $nazwa pliku``
wyrzucił 'Całkowita liczba znaków to$ totalcha'
Uruchom skrypt bash z nazwą pliku jako wartością pojedynczego argumentu i uruchom inne polecenie, aby sprawdzić całkowitą liczbę znaków tego pliku. Tutaj plik worker.txt jest używany jako wartość argumentu. Całkowita liczba znaków w pliku worker.txt to 204.
$grzmotnąćcmdline2.sh pracownik.txt
$toaleta -Cpracownik.txt
Korzystanie z funkcji getopts:
Jeśli chcesz przechowywać dane w bazie danych lub dowolnym pliku lub utworzyć raport w określonym formacie na podstawie wartości argumentów wiersza poleceń, to getopts funkcja jest najlepszą opcją do wykonania zadania. Jest to wbudowana funkcja Linuksa. Możesz więc łatwo użyć tej funkcji w swoim skrypcie, aby odczytać sformatowane dane z wiersza poleceń.
Przykład -1: Odczytywanie argumentów przez funkcję getopts
Utwórz plik bash i dodaj następujący skrypt, aby zrozumieć użycie getopts funkcjonować. Funkcja „getopts” jest używana z pętlą while do odczytywania opcji argumentów wiersza poleceń i wartości argumentów. Tutaj używane są 4 opcje, które są „ja”, „n”, „m” oraz 'I' . Instrukcja case służy do dopasowania konkretnej opcji i przechowywania wartości argumentu w zmiennej. Na koniec wydrukuj wartości zmiennej.
#!/kosz/bashpodczas getopts ':we mnie:'zły;robić
Obudowa $ arg w
i) NS=$OPTARG;;
n) Nazwa=$OPTARG;;
m) Data produkcji=$OPTARG;;
I) Data ważności=$OPTARG;;
esac
Gotowe
wyrzucił -I ' $ID $Nazwa $Manufacturing_date $Data wygaśnięcia '
Uruchom plik z następującymi opcjami i wartościami argumentów. Tutaj p100 jest wartością opcji -i, 'Hot Cake' jest wartością opcji -n, '01-01-2018′ jest wartością opcji -m, a '06-01-2018′ jest wartością - e opcja.
$grzmotnąćcmdline3.sh-ip001-n 'Gorące ciasto' -m '01-01-2018' -I '06-01-2018'
Kiedy musisz przesłać proste wartości w skrypcie, lepiej jest użyć zmiennych argumentów. Ale jeśli chcesz przesłać dane w sposób sformatowany, lepiej użyć funkcji getopts do pobrania wartości argumentów. Aby uzyskać więcej informacji, obejrzyj wideo !