En aquest tema, aprendrem a llegir l'entrada de l'usuari des del terminal i l'script.
Per llegir l'entrada de l'usuari Bash, utilitzem l'ordre Bash incorporada anomenada llegir . Pren l'entrada de l'usuari i l'assigna a la variable. Només llegeix una única línia de l'intèrpret d'ordres Bash. A continuació es mostra la sintaxi per a la seva implementació.
Sintaxi
read
Seguiu els exemples donats per llegir l'entrada de l'usuari del Bash Script:
Exemple 1:
En aquest exemple, llegim les variables individuals i múltiples del Bash Script mitjançant l'ordre de lectura.
Programa:
#!/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.'
Vegeu la consola Bash:
Sortida:
Què passarà si no passem cap variable amb l'ordre read?
Si no passem cap variable amb l'ordre read, podem passar una variable integrada anomenada RESPOSTA (ha d'anar prefixat amb el signe $) mentre es mostra l'entrada. Es pot explicar amb el programa següent:
jquery fent clic
Programa:
#!/bin/bash # using read command without any variable echo 'Enter name : ' read echo 'Name : $REPLY'
A la consola Bash:
Sortida:
Exemple 2:
En aquest exemple, introduïm l'entrada al mateix PROMPT utilitzant el -p opció de línia d'ordres com segueix:
read -p PROMPT
Programa:
#!/bin/bash read -p 'username:' user_var echo 'The username is: ' $user_var
Vegeu la consola Bash:
Sortida:
Exemple 3:
Aquest exemple és mantenir l'entrada en mode silenciós, de manera que qualsevol que sigui una entrada d'usuari a la línia d'ordres s'amagarà als altres.
deol assolellat
Per tant, passem un nom d'usuari i amaguem la contrasenya (mode silenciós) utilitzant les opcions de línia d'ordres (-s, -p) de la manera següent:
read -sp PROMPT
On -s permet que un usuari mantingui l'entrada en mode silenciós i -p introdueixi al nou indicador d'ordres.
mvc amb java
Programa:
#!/bin/bash read -p 'username : ' user_var read -sp 'password : ' pass_var echo echo 'username : ' $user_var echo 'password : ' $pass_var
Vegeu la consola Bash:
Sortida:
NOTA: A les 5thlínia de l'script, hem donat una línia en blanc amb l'ordre d'eco, perquè si no la deixem en blanc, donarà sortida amb la contrasenya i el nom d'usuari al mateix PROMPT que la imatge següent.
Per tant, escriviu el vostre script afegint una línia d'ordres d'eco en blanc.
Exemple 4: Aquest exemple és introduir diverses entrades mitjançant una matriu. Per tant, utilitzeu l'opció de línia d'ordres -a de la següent manera:
read -a
On -a ajuda l'script a llegir una matriu i variable_name fa referència a una matriu.
Programa:
#!/bin/bash # Reading multiple inputs using an array echo 'Enter names : ' read -a names echo 'The entered names are : ${names[0]}, ${names[1]}.'
Vegeu el codi a Bash Console:
Sortida: