logo

Przeczytaj dane wprowadzone przez użytkownika

W tym temacie dowiemy się, jak czytać dane wejściowe użytkownika z terminala i skryptu.

Aby odczytać dane wejściowe użytkownika Bash, używamy wbudowanego polecenia Bash o nazwie Czytać . Pobiera dane wejściowe od użytkownika i przypisuje je do zmiennej. Odczytuje tylko jedną linię z powłoki Bash. Poniżej znajduje się składnia jego implementacji.

Składnia

 read 

Postępuj zgodnie z podanymi przykładami, aby odczytać dane wejściowe użytkownika ze skryptu Bash:

Przykład 1:

W tym przykładzie czytamy zarówno pojedynczą, jak i wielokrotną zmienną ze skryptu Bash za pomocą polecenia read.

Program:

 #!/bin/bash # Read the user input echo 'Enter the user name: ' read first_name echo 'The Current User Name is $first_name' echo echo 'Enter other users'names: ' read name1 name2 name3 echo '$name1, $name2, $name3 are the other users.' 

Zobacz konsolę Bash:

Przeczytaj dane wprowadzone przez użytkownika

Wyjście:

Przeczytaj dane wprowadzone przez użytkownika

Co się stanie jeśli nie przekażemy żadnej zmiennej poleceniem read?

Jeśli za pomocą polecenia read nie przekażemy żadnej zmiennej, możemy przekazać wbudowaną zmienną o nazwie ODPOWIEDŹ (powinien być poprzedzony znakiem $) podczas wyświetlania danych wejściowych. Można to wyjaśnić za pomocą poniższego programu:

sortowanie bąbelkowe w algorytmie

Program:

 #!/bin/bash # using read command without any variable echo 'Enter name : ' read echo 'Name : $REPLY' 

W konsoli Bash:

Przeczytaj dane wprowadzone przez użytkownika

Wyjście:

Przeczytaj dane wprowadzone przez użytkownika

Przykład 2:

W tym przykładzie wprowadzamy dane wejściowe w tym samym PROMPCIE za pomocą -p opcja wiersza poleceń następująco:

 read -p PROMPT 

Program:

 #!/bin/bash read -p 'username:' user_var echo 'The username is: ' $user_var 

Zobacz konsolę Bash:

Przeczytaj dane wprowadzone przez użytkownika

Wyjście:

Przeczytaj dane wprowadzone przez użytkownika

Przykład 3:

Ten przykład dotyczy utrzymywania danych wejściowych w trybie cichym, tak aby wszelkie dane wprowadzone przez użytkownika w wierszu poleceń były ukryte dla innych.

ciąg w tablicy w c

Zatem przekazujemy nazwę użytkownika i ukrywamy hasło (tryb cichy), używając opcji wiersza poleceń (-s, -p), zwykle w następujący sposób:

 read -sp PROMPT 

Gdzie -s pozwala użytkownikowi zachować wprowadzanie danych w trybie cichym, a -p umożliwia wprowadzanie danych w nowym wierszu poleceń.

uczynienie skryptu powłoki wykonywalnym

Program:

 #!/bin/bash read -p 'username : ' user_var read -sp 'password : ' pass_var echo echo 'username : ' $user_var echo 'password : ' $pass_var 

Zobacz konsolę Bash:

Przeczytaj dane wprowadzone przez użytkownika

Wyjście:

Przeczytaj dane wprowadzone przez użytkownika

UWAGA: w 5tlinii skryptu daliśmy pustą linię z poleceniem echo, ponieważ jeśli tego nie zrobimy, wyświetli się zarówno hasło, jak i nazwa użytkownika w tym samym PROMPCIE, co na poniższym obrazku.

Przeczytaj dane wprowadzone przez użytkownika

Zatem napisz swój skrypt, dodając pusty wiersz poleceń echo.

Przykład 4: Ten przykład dotyczy wprowadzenia wielu danych wejściowych za pomocą tablicy. Użyj więc opcji -a wiersza poleceń w następujący sposób:

 read -a 

Gdzie -A pomaga skryptowi odczytać tablicę, a nazwa_zmiennej odnosi się do tablicy.

Program:

 #!/bin/bash # Reading multiple inputs using an array echo 'Enter names : ' read -a names echo 'The entered names are : ${names[0]}, ${names[1]}.' 

Zobacz kod w konsoli Bash:

Przeczytaj dane wprowadzone przez użytkownika

Wyjście:

Przeczytaj dane wprowadzone przez użytkownika