Najpierw sprawdź podstawową składnię polecenia „czytaj”:
czytaj [opcja] zmiennaUżycie polecenia „odczytaj” oznacza, że wchodzisz w interakcję z Bash w celu uzyskania informacji od użytkownika. Zapisuje wartość w zmiennej, ale bez „$" znak. Będziesz mógł lepiej zrozumieć tę koncepcję na przykładzie.
Przykład 1: Użycie polecenia „czytaj” w skrypcie Bash
Aby dokładniej przyjrzeć się poleceniu „czytaj”, stworzymy prosty skrypt, który zapyta o nazwę użytkownika. Najpierw otwórz dowolny edytor tekstu; w tym samouczku używam edytora tekstu Vima ze względu na jego wiele przydatnych funkcji. Aby zainstalować Vima, wykonaj następujące polecenie w terminalu:
$sudo apt zainstaluj vimNastępnie wpisz w pliku tekstowym:
#! \bin\bashecho „Proszę wpisać swoje imię”
przeczytaj imię
echo „Twoje imię to” $name
Zapisz plik pod dowolną nazwą, a następnie naciśnij wyjście i wpisz „:w readcom.cii.” Aby uruchomić skrypt, wydaj następujące polecenie:
$ bash przeczytaj.ciiPowyższy skrypt poprosi użytkownika o wpisanie swojego imienia. Polecenie „odczyt” zapisze dane wprowadzone przez użytkownika. Następna linia wyświetli nazwę wprowadzoną przez użytkownika.
Przykład 2: Kod uproszczony za pomocą operatora „podpowiedź”
Powyższy przykład można jeszcze bardziej uprościć za pomocą „skłonić” operator. Przepiszmy powyższy przykład, aby zrozumieć kod:
#! /bin/bashprzeczytaj -p „Proszę wpisać swoje imię” imię
echo „Twoje imię to” $name
Przykład 3: Ukrywanie danych wprowadzonych przez użytkownika za pomocą operatora „sekret/cichy”
„-s” flaga może być użyta do ukrycia wejścia użytkownika. Poniższy przykład skryptu Bash pokazuje, jak używać operatora „-s”:
#! /bin/bashprzeczytaj -p „Proszę wpisać swoją nazwę użytkownika” nazwa użytkownika
read -s -p “Proszę wpisać swoje hasło” $password
Przykład 4: Ograniczenie długości znaków
„-nie” flaga może być użyta do dodania ograniczenia liczby znaków, które użytkownik może wprowadzić.
#!/bin/bashread -n 8 -p “Proszę wpisać swoją nazwę użytkownika nie przekraczającą 8 znaków” nazwa użytkownika
echo „Twoja nazwa użytkownika to” $username
Dzięki opcji „-n” użytkownik nadal może wpisać mniej niż osiem znaków. Aby jeszcze bardziej ograniczyć długość wejściową, „-N” można użyć flagi, która ogranicza odpowiedź użytkownika do dokładnie ośmiu znaków.
Przykład 5: Pobieranie danych wejściowych w tablicy
Dane wprowadzane przez użytkownika można również pobrać w tablicy z „-za" flaga. Na przykład, aby za jednym razem uzyskać imię i nazwisko użytkownika, wiek i adres e-mail, możemy użyć tablicy. Spójrzmy na przykład:
#! /bin/bashecho „Proszę wpisać swoje imię i nazwisko, wiek i adres e-mail”
read -a nazwa tablicy wiek e-mail
echo „Twoje imię, wiek i adres e-mail to: $tablica[@] imię wiek e-mail”
echo „Twoje imię i wiek to: $tablica[@]:0:1 imię wiek”
echo „Twój adres e-mail to: $tablica[2] e-mail”
- „$array[@]” przejdzie przez wszystkie zmienne.
- Aby przejść przez indeksy od 0 do 1, użyj „$tablica[@]:0:1” z nazwami zmiennych.
- Aby uzyskać wartość określonej zmiennej w określonym indeksie, użyj „$array[2]” z nazwą zmiennej.
Przykład 6: Dodawanie limitu czasu do polecenia „odczyt”
Jak wskazuje nazwa komendy, można dodać timeout jako warunek odczytania kodu za pomocą flagi „-t”, co powoduje, że użytkownik wprowadza informacje na określony czas. W przeciwnym razie program przejdzie do następnej linii kodu.
#! \bin\bashecho „Jaka jest stolica Japonii? Odpowiedz w 5 sekund”
przeczytaj -t 5 odpowiedź
if [ “$odpowiedź” = “tokio” ] || [ „$odpowiedź” = „Tokio” ];
następnie
echo „Twoja odpowiedź jest prawidłowa!”
jeszcze
echo „Twoja odpowiedź jest błędna!”
fi
Wniosek
Uzyskiwanie danych wejściowych z danych wejściowych użytkownika jest jedną z najważniejszych części programowania, dzięki czemu Twoje programy są bardziej interaktywne. W tym artykule pokazano, jak używać polecenia „czytaj”, jednego z kluczowych poleceń w skryptach Bash. W tym artykule poznałeś niektóre z różnych podejść, których możesz użyć z poleceniem „czytaj”, od podstawowych operatorów flag do zaawansowanych operatorów.