Comment inviter la saisie de l'utilisateur dans le script shell

Comment inviter la saisie de l'utilisateur dans le script shell

Tout le monde veut que leurs scripts soient plus interactifs, en particulier les utilisateurs. Les utilisateurs veulent avoir l'impression de travailler avec un logiciel moderne au lieu de quelque chose de pavé à partir d'anciens fichiers de lots et des doublures cryptiques. Ils veulent également un script d'auto-documentation qui nécessite le moins de documentation que possible. Si ces choses ressemblent à ce que vous attendiez, alors lisez la suite! Un script shell est un endroit parfait pour la saisie de l'utilisateur car il s'agit d'une construction de programmation si simple. Il se compose essentiellement d'une série de commandes qui ont reçu leur propre nom

La commande Linux Read vous offre l'option pour inviter à la saisie de l'utilisateur. Une fois que l'entrée fournie par l'utilisateur est entrée, le magasin de commandes a fourni une entrée. Qui peut être utilisé plus tard dans les scripts shell. Dans ce tutoriel, vous apprendrez comment inviter à la saisie des utilisateurs dans un script shell. Aidez-vous également à accepter les mots de passe des utilisateurs en caractères cachés.

Prendre la contribution des utilisateurs dans Bash

Lors de l'écriture d'un script de shell, il peut être utile d'inviter l'utilisateur à l'entrée. Cela vous permettra d'obtenir une valeur spécifique que vous pouvez utiliser dans votre script comme vous le voyez,. Il vous permet également de rendre votre script interactif en incitant l'utilisateur à saisir des valeurs telles que les répertoires et les noms de fichiers.

Dans Bash, vous pouvez inviter l'utilisateur avec une commande de lecture.

Lire My_Var  

Ici "lire"Est la commande Linux et"my_var«Est la variable, qui stockera la valeur d'entrée.

Appuyez sur Entrée après avoir tapé la commande ci-dessus. Vous verrez une ligne vide sans invite. Cela signifie que le shell attend votre entrée. Tapez du texte et appuyez sur le bouton Entrée. Vous retrouverez l'invite.

Maintenant, vérifiez que la valeur d'entrée est stockée dans une variable définie. Pour le confirmer, imprimez la valeur variable avec la commande echo.

echo $ my_var 

Il n'est pas nécessaire de définir un type de données pour les variables. Shell ajuste automatiquement le type en fonction de l'entrée utilisateur.

Vous pouvez également ajouter un message à l'invite d'entrée pour la commodité des utilisateurs. Cela ressemble à ceci:

lire -p "Quel est votre nom? "My_var  

Dans cet exemple, la commande de lecture est suivie d'un -p. Cela indique au script d'inviter l'utilisateur à l'entrée. Le texte à l'intérieur des citations après le -p est affiché à l'utilisateur lorsqu'il est invité. En utilisant Read In Your Shell Scripts, vous pouvez inciter l'utilisateur à entrer et stocker les résultats dans une variable. Vous pouvez également utiliser la lecture pour lire en une seule valeur en utilisant une variable pour inviter l'utilisateur à une autre valeur. Vous pouvez utiliser la lecture pour beaucoup de choses, mais il est très utile pour la lecture de la saisie des utilisateurs.

Script shell pour inciter à la saisie de l'utilisateur

Écrivez un exemple de script de shell pour inviter l'entrée de l'utilisateur et le stocker dans une variable. Assurez-vous d'imprimer un message approprié à l'écran avant d'inviter la saisie. Stockez la valeur d'entrée dans une variable, puis imprimez-la avec un message de bienvenue.

Créer un nouveau fichier "saisir.sh ” et écrivez ci-dessous le script:

#!/ bin / bash echo "Entrez votre nom:" Lire my_var echo "Bienvenue $ my_var!"
12345#!/ bin / bash echo "Entrez votre nom:" Lire my_varecho "Bienvenue $ my_var!"

Enregistrez votre fichier et fermez-le.

Entrée chmod + x.shot ./saisir.shot 

Dans le script ci-dessus, vous avez constaté que l'entrée est invitée à une nouvelle ligne. Pour l'améliorer, utilisez le -p Option d'imprimer le message avant d'entrée avec la commande de lecture. Avec cela, nous sauterons la première ligne d'écho.

Modifiez votre script et apportez les modifications suivantes.

#!/ bin / bash read -p "Entrez votre nom:" my_var echo "bienvenue $ my_var!"
1234#!/ bin / bash read -p "Entrez votre nom:" my_varecho "bienvenue $ my_var!"

Exécutez à nouveau le même script et voyez les sorties:

./saisir.shot 

La sortie est explicite. La valeur entrée est stockée en variable puis l'imprime.

Comment saisir un mot de passe dans le script shell

La saisie de mot de passe doit être masquée à l'écran, similaire à ce que fait le shell Linux lors de la définition d'un mot de passe à l'écran. Les mots de passe ne doivent pas être visibles à l'écran.

La commande de lecture fournit l'option de mode silencieux avec "-S" Pour masquer les caractères d'entrée de l'écran. Créons un exemple de script pour prendre la saisie du mot de passe de l'utilisateur.

VIM d'entrée-passage.shot  

Ajouter le script ci-dessous.

#!/ bin / bash read -s -p "Entrez un mot de passe:" my_var echo "Votre mot de passe est - $ my_var"
1234#!/ bin / bash read -s -p "Entrez un mot de passe:" my_varecho "Votre mot de passe est - $ my_var"

Enregistrez le fichier et fermez-le.

CHMOD + x passe-passe.shot ./ pass-pass.shot 

Conclusion

Un script shell est un endroit parfait pour la saisie de l'utilisateur car il s'agit d'une construction de programmation si simple. Il se compose essentiellement d'une série de commandes qui ont reçu leur propre nom. Ce guide pratique vous a aidé à comprendre la saisie de l'utilisateur dans les scripts shell. Vous fournit en outre un exemple pour prendre la contribution d'un mot de passe dans le script shell.