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:
Wyjście:
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:
Wyjście:
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:
Wyjście:
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:
Wyjście:
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.
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:
Wyjście: