Entrée utilisateur dans Bash
Prendre l’entrée de l’utilisateur est très important pour tout programme ou script. De cette manière, un utilisateur interagit avec le système et fournit une entrée au système.
Comme d’autres langages de programmation ou de script, Bash prend en charge l’entrée de l’utilisateur. Le format général pour prendre l’entrée de l’utilisateur est read YOUR_VARIABLE
.
Si vous souhaitez créer une balise pour que les utilisateurs sachent de quel type d’entrée ils ont besoin, le format ressemblera à read -p "YOUR INSTRUCTION HERE : " YOUR_VARIABLE
. Dans cet article, nous verrons comment nous pouvons apporter les entrées des utilisateurs au système dans Bash.
De plus, nous verrons quelques exemples et explications pertinents au sujet pour faciliter le sujet.
Entrée utilisateur dans Bash
Comme nous en avons déjà discuté, nous devons utiliser le mot-clé read
pour prendre les entrées de l’utilisateur dans le système. C’est un mot-clé intégré dans Bash qui lit l’entrée de l’utilisateur.
Dans l’exemple ci-dessous, nous prendrons une entrée utilisateur et fournirons à l’utilisateur la sortie, y compris l’entrée utilisateur. Le code de notre exemple ressemblera à ceci :
read YOUR_VAR
echo "You entered the number $YOUR_VAR"
Ci-dessus partagé un exemple très simple à travers lequel nous prenons une entrée et fournissons une sortie comme ci-dessous.
50
You entered the number 50
Mais comment l’utilisateur saura-t-il qu’il doit fournir une valeur numérique ici ? Nous devons indiquer à l’utilisateur qu’il doit fournir une valeur numérique ici.
Pour ce faire, vous devez suivre l’exemple ci-dessous, qui est similaire mais avancé par rapport au précédent. Le code de notre exemple ressemblera à ce qui suit.
read -p "Please enter a number: " YOUR_VAR
echo "You entered the number $YOUR_VAR"
Lorsque vous exécutez cet exemple, le script affiche d’abord un message Please enter a number :
et lorsque l’utilisateur fournit une valeur numérique, il obtient la sortie ci-dessous.
Please enter a number: 50
You entered the number 50
Prise d’entrée Yes
ou No
de l’utilisateur
Ci-dessous, nous verrons un exemple qui ne prendra que la saisie de l’utilisateur entre Yes
ou No
. Le code de notre exemple ressemblera à ceci :
while true; do
read -p "Do you wish to continue? " yn
case $yn in
[Yy]* ) echo "You have selected YES!! ";;
[Nn]* ) echo "You have selected NO!! ";;
* ) echo "Please answer between YES or NO";;
esac
done
Nous avons utilisé une boucle while
et une instruction conditionnelle case
dans notre exemple. Nous prenons l’entrée de l’utilisateur par la ligne read -p "Do you wish to continue the program ? " yn
.
Par la ligne [Yy]* ) echo "You have selected YES!! ";;
et [Nn]* ) echo "You have selected NO!! ";;
nous vérifions l’entrée de l’utilisateur.
Si l’entrée est Y
ou y
, il affichera la sortie You have selected YES!!
, et si l’entrée est N
ou n
, il affichera la sortie You have selected No!!
.
Enfin, nous définissons une sortie par défaut si un utilisateur met une entrée inattendue par la ligne * ) echo "Please answer YES or NO";;
. Après avoir exécuté le code, nous obtiendrons une sortie comme celle-ci :
Do you wish to continue the program? Y
You have selected YES!!
Do you wish to continue the program? Y
You have selected YES!!
Do you wish to continue the program? N
You have selected NO!!
Veuillez noter que tout le code utilisé dans cet article est écrit en Bash. Cela ne fonctionnera que dans l’environnement Linux Shell.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn