Jak przyjmować dane wejściowe od użytkownika w skrypcie Bash [zaawansowane techniki]

Jak przyjmować dane wejściowe od użytkownika w skrypcie Bash [zaawansowane techniki]

Możesz tworzyć interaktywne skrypty, przyjmując dane wejściowe od użytkownika podczas wykonywania. Pomaga także manipulować wyjściem zgodnie z wymaganiami. Istnieje kilka łatwych metod przyjmowania danych wejściowych od użytkownika. Dlatego najlepiej jest wykorzystać bardziej zaawansowane sposoby jako pośredni lub ekspert. Jednak wielu użytkowników Bash musi nauczyć się zaawansowanych technik, aby przyjąć dane wejściowe od użytkowników w skrypcie Bash. Więc w tym samouczku wyjaśnimy je wszystkie krótko.

Jak przyjmować dane wejściowe od użytkownika w skrypcie Bash [zaawansowane techniki]

Za pomocą polecenia odczytu możesz podjąć dane wejściowe, ale czy wiesz, że możesz wziąć wiele danych wejściowych? Weźmy przykład, aby uzyskać szczegółowe informacje. Załóżmy, że chcemy utworzyć skrypt, aby wykonać obliczenia arytmetyczne przy użyciu liczb (A, B, C, D, E):

#!/bin/bash
echo „Wprowadź trzy liczby”
Przeczytaj b c d e
sum = $ ((a+b+c+d+e))
Echo „Dodatek to $ sum”
pomnóż = $ ((a*b*c*d*e))
Echo „mnożenie jest $ mnożenie”

Teraz możemy wykonać skrypt i wprowadzić liczby, aby obliczyć dodanie i mnożenie:

Jeśli nie chcesz tworzyć osobnej instrukcji Echo, możesz dodać ją w poleceniu odczytu za pomocą opcji -p:

#!/bin/bash
Przeczytaj -p „Wprowadź swoje imię i nazwisko i wiek:„ Wiek nazwy
Jeśli [$ wiek -lt 17]
Następnie
Echo "przepraszam!! Nie kwalifikujesz się do kursu ”
w przeciwnym razie
Echo „Świetnie!! Jesteś uprawniony do kursu ”
fi

Powyższy skrypt wymaga, aby użytkownik miał co najmniej 17 lat, aby uzyskać uprawnienia do konkretnego kursu:

Weź wejście za pomocą stdin (standardowe wejście)

Jeśli chcesz pójść o krok dalej w zaawansowanych technikach, możesz użyć koncepcji stdin. Możesz użyć stdina w skrypcie, aby uzyskać łatwe rozwiązania. Weźmy przykład, w którym chcemy odfiltrować listę kwalifikujących się kandydatów, którzy już złożyli opłaty. Mamy listę zawierającą dane, takie jak nazwa kandydata, wiek, data przesłania formularza i status przesyłania opłat. Możemy więc użyć skryptu poniżej, aby uzyskać pożądane szczegóły:

#!/bin/bash
echo „Szczegóły dotyczące składania opłat:”
Cat /dev /stdin | cut -d "-f 1,4 | sort

Ten skrypt zapewnia następujący wynik:

Owinięcie

Tak więc chodziło o zaawansowane techniki, które możesz spróbować przejąć dane wejściowe od użytkownika w skrypcie Bash. W tym samouczku wyjaśniliśmy różne opcje w poleceniu Read i Stdin, aby szybko wprowadzić wejście. Jeśli jesteś nowy w Bash i chcesz wiedzieć, jak wziąć udział, sprawdź naszą stronę internetową, aby dowiedzieć się więcej.