Vérifier l'entrée d'un utilisateur dans un script bash
Résolu
Beginer
-
Beginer -
Beginer -
Bonjour,
Je souhaite créer une fonction intéractive qui vérifiera les données que rentre un utilisateur dans du bash.Par exemple en appellant cette fonction dans le script pour chaque vérification critique.
premier cas: je veux que mon utilisateur rentre un nom mais ce nom ne doit pas dépasser 10 caractères et doit obligatoirement commencer par médiaXXXXX les X représentants les 5 derniers caractères que l'user rentre pour faire le choix de son mot de passe.
second cas: l'utilisateur doit rentrer une date avec le format suivant, 03:10:16 donc dans ce cas la j'aimerais limité le nombre de caractère a 8 le : étant un caractère et faire en sorte que le : soit bien a sa place entre les deux chiffres de la datte.
Merci beaucoup.
Je souhaite créer une fonction intéractive qui vérifiera les données que rentre un utilisateur dans du bash.Par exemple en appellant cette fonction dans le script pour chaque vérification critique.
premier cas: je veux que mon utilisateur rentre un nom mais ce nom ne doit pas dépasser 10 caractères et doit obligatoirement commencer par médiaXXXXX les X représentants les 5 derniers caractères que l'user rentre pour faire le choix de son mot de passe.
second cas: l'utilisateur doit rentrer une date avec le format suivant, 03:10:16 donc dans ce cas la j'aimerais limité le nombre de caractère a 8 le : étant un caractère et faire en sorte que le : soit bien a sa place entre les deux chiffres de la datte.
Merci beaucoup.
A voir également:
- Vérifier l'entrée d'un utilisateur dans un script bash
- Verifier un lien - Guide
- Script vidéo youtube - Guide
- Verifier compatibilite windows 11 - Guide
- Mas script - Accueil - Windows
- Vérifier si mot de passe piraté - Guide
5 réponses
Ben je ne sais du tout comment vérifier les données rentré par l'user.Les capturer je le fais avec read -p mais pour les vérifier je sais pas comment faire, surtout avec les chiffres.
Construit les fonctions de validation et utilise une boucle:
man bash # remplacement des paramètres/Parameter Expansion
man test; man [
help read
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)
#! /bin/bash function test_identifier () { # débute par "média", se termine par 54321 [ $# -ne 1 ] && return 1; identifier="$1" if [ "X${identifier: 0 : 5}" = "Xmédia" -a "X${identifier: -5}" = "X54321" ] ; then # autres tests return 0 fi return 1 } ident="" until test_identifier "$ident" ; do read -i "media" -p "Un identificateur: " ident done
man bash # remplacement des paramètres/Parameter Expansion
man test; man [
help read
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)
Concernant les dates
Puis tu extrais les sous-chaînes.
Alternativement utilise le code d'erreur de la commande externe date utilisée correctement à partir des éléments. (man date)
Concernant les entiers décimaux, ce code
Voir: man 1 bash
#! /bin/bash read -p "Quand?" quand reg='^[0-9][0-9]:[0-9][0-9]:[0-9][0-9]$' echo $quand if [[ $quand =~ $reg ]] ; then echo "Peut-être une date" fi
Puis tu extrais les sous-chaînes.
Alternativement utilise le code d'erreur de la commande externe date utilisée correctement à partir des éléments. (man date)
Concernant les entiers décimaux, ce code
#! /bin/bash read -p "Nombre?" the_int reg='^(\+|-)?[0-9]+$' echo $quand if [[ $the_int =~ $reg ]] ; then echo "$the_int peut-être un entier" fisera plus fonctionnel et efficace
Voir: man 1 bash
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question