Linux bash - Pobieranie wartości zmiennej od użytkownika (interakcja skryptu)
Wskazówka dla tych, którzy chcą wprowadzić w swój skrypt interakcję z użytkownikiem i poprosić go o pewne wartości, w dalszej kolejności przypisane do zmiennych.
Czy w ogóle warto zmuszać użytkownika do interakcji ze skryptem?
Jest to bardzo dobre pytanie, niestety... a może stety, bez jednoznacznej odpowiedzi. Tak czy inaczej, należy mieć świadomość jednego podstawowego aspektu, jakim jest fakt, że skrypty czy generalnie programy nie wymagające współdziałania z użytkownikiem (w naszym kontekście rozumiemy to głównie przez podanie wszystkich informacji już w parametrach uruchomienia) można w łatwy sposób sprzęgać do pracy z innymi programami. Jest to nieoceniona zaleta, co może potwierdzić każdy użytkownik systemów Linux, które bardziej sprzyjają takim rozwiązaniom i czynią z nich codzienne zjawisko. Warto się więc zastanowić, czy należy rezygnować z takich możliwości, tworząc skrypt wstrzymywany w swojej pracy przez konieczność interakcji z użytkownikiem. A czasem oczywiście warto! Jeżeli np. przygotowujemy skrypt instalacyjny, w szczególności kierowany do grupy mniej zaawansowanych użytkowników, którym będzie zwyczajnie łatwiej i wygodniej odpowiedzieć na kilka pytań, aniżeli umieszczać je w odpowiednich parametrach wykonania skryptu, to jak najbardziej możemy sobie pozwolić na wprowadzenie interakcji.
Jak wczytać od użytkownika wartość zmiennej?
Po tym nieco przydługim wstępie w stosunku do tak prostego zagadnienia, przejdźmy do meritum sprawy. Otóż jeśli chcemy poprosić użytkownika skryptu o podanie jakiejś wartości przy pomocy klawiatury, a następnie zapisać tę wartość do zmiennej, tak by dalsza część logiki skryptu mogła na niej operować, to należy posłużyć się funkcją read. Spójrzmy na bardzo prosty przykład, który wszystko zobrazuje:echo "Jak Ci na imię?"
read IMIE_UZYTKOWNIKA# Zapisujemy to co poda użytkownik do zmiennej IMIE_UZYTKOWNIKA
echo "$IMIE_UZYTKOWNIKA, miło mi Cię poznać!"
Jak widzimy używanie funkcji read jest bardzo proste. To jeszcze przykładowe wywołanie tak napisanego skryptu:
Jak Ci na imię?
Mateusz
Mateusz, miło mi Cię poznać!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!