logo

Llegeix l'entrada de l'usuari

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:

Llegeix l'entrada de l'usuari

Sortida:

Llegeix l'entrada de l'usuari

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:

Llegeix l'entrada de l'usuari

Sortida:

Llegeix l'entrada de l'usuari

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:

Llegeix l'entrada de l'usuari

Sortida:

Llegeix l'entrada de l'usuari

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:

Llegeix l'entrada de l'usuari

Sortida:

Llegeix l'entrada de l'usuari

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.

Llegeix l'entrada de l'usuari

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:

Llegeix l'entrada de l'usuari

Sortida:

Llegeix l'entrada de l'usuari