J'ai lu ton code
Code : Tout sélectionner
dateRegEx="^[0-9]{4}(0[0-9]|1[0-2])([0-2][09]|3[0-1])[0-2][0-9][0-5][0-9]"
et en croisant avec la documentation (
http://www.linux-france.org/article/web ... regexp.php) j'ai compris.
Comme tu le dis ça ne contrôle pas du tout la date, seulement sa forme. Avec ce contrôle on peut mettre 31 jours à tous les mois, ou "00" dans les mois et les jours. J'ai préféré une formulation plus longue mais plus juste (je ne traite pas les heures, mais c'est le même principe)
Pour la fonction
date, je n'ai pas réussi à la mettre en erreur quand je la traite en deux temps: date puis heure.
Donc, pour le fun, je vais mettre la version regEx en commentaire dans la procédure pour la garder à mes bons souvenirs.
Quand à la boucle
if ou
while ... là je sature; je m'y remettrais plus tard.
Merci à toi/vous et ne m'oubliez pas pour la documentation ... récente.
Anecdote: ce matin j'ai buté sur un simple
echo et
read. Le message était "identifiant non valable".
Je me suis arraché [le peu] des cheveux [qu'il me reste] pour comprendre
que, sous Linux [Mint], mieux vaut utiliser un éditeur comme
vi ou
nano car le notepad de l'interface graphique doit mettre des caractères invisibles foireux. Une fois tout ressaisi sous Terminal, j'ai retrouvé mes esprits
. Ca m'a rappelé le même problème d'il y a ... plus de 15 ans sous Unix; caractère foireux qu'on ne voit pas.