5.11. Zliczanie parametrów

Problem

Chcemy wiedzieć z iloma parametrami skrypt został wywołany.

Rozwiązanie

Informacja o liczbie parametrów jest przechowywana w zmiennej ${#}. Poniżej został przedstawiony przykład skryptu, który wymusza wprowadzenie trzech parametrów.

#!/usr/bin/env bash # plik receptury: check_arg_count # # Sprawdzenie liczby parametrów # Poprawny jest zarówno poniższy zapis, jak i zapis: if [ $# -lt 3 ] if (( $# < 3 )) then printf "%b" "Błąd. Niedostateczna liczba parametrów.\n" >&2 printf "%b" "użycie: mójskrypt plik1 op plik2\n" >&2 exit 1 elif (( $# > 3 )) then printf "%b" "Błąd. Zbyt wiele parametrów.\n" >&2 printf "%b" "użycie: mójskrypt plik1 op plik2\n" >&2 exit 2 else printf "%b" "Prawidłowa liczba parametrów. Przetwarzanie...\n" ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.