Linux Bash - Format De La Date
Mon format de la date est aaaa-mm-jj-hh:mm:ss
Comment puis-je vérifier mon entrée?
Il devrait être quelque chose comme ceci:
#!/bin/bash
read -p "Date (format yy-mm-dd-HH-MM-SS): " input
check=$(date +"%Y-%m-%d-%H:%M:%S")
if [ $input -eq $check ]; do
echo "Right!"
else
echo "False!"
fi
Mais cela ne veut pas vérifier la date à laquelle Il compare mon entrée à la date réelle.
Cordialement
Vince
veuillez spécifier le format que vous en avez besoin.
voulez-vous obtenir la date du jour dans votre format?
J'ai édité mon post. il doit être clair, ce que je veux faire 😉
Pourquoi avez-vous utilisé
Notez que le format de date
voulez-vous obtenir la date du jour dans votre format?
J'ai édité mon post. il doit être clair, ce que je veux faire 😉
Pourquoi avez-vous utilisé
HH:MM:SS
dans check
et pas dans read
?Notez que le format de date
%Y-%m-%d
pourrait par écrit %F
comme format %H:%M:%S
pourrait être plus simple écrit %T
. Donc date +%F-%T
donner le même résultat que date +%Y-%m-%d-%H:%M:%S
(les guillemets sont inutiles alors qu'il n'y a pas d'espace dans la chaîne de format)OriginalL'auteur Vince | 2013-01-04
Vous devez vous connecter pour publier un commentaire.
Édité avr 2016!
Voir plus loin (plus fort de la méthode)
Post Original
Essayer:
ou
Bien testé:
Modifier ajouter
Pour l'essai d'une date, vous pouvez:
et/ou
À l'aide de méthode de démarrage qui vous permettent de confirmer format et la fiabilité de l'entrée
Plus fort de la méthode
Si vous souhaitez vérifier l'entrée, il y a une meilleure méthode:
Ce sera dump
adate
variable de tableau:À partir de là, vous pourriez re-valider nombre de jours:
La seule chose que pas testé il y a de la longueur de champ si
de travail, puis
sera trop de travail (il n'y a qu'un seul chiffre dans le champ du jour).
Si nécessaire, vous pouvez modifier la ligne:
pour
Nota: le champ de l'Année est arbitrairement limité entre 2000 et 2100, mais c'est facile à comprendre/modifier.
Par Exemple: je tape: 2012-12-20-10-00-00 --> le programme me donner un message d'erreur. Lorsque je tape: 2012-12-20-10:00:00 --> le programm me donne un OK
Regarde mon ajoute sur ma réponse!
Qui est-il, ce que je cherche. Merci!!!! 😀 Pourriez-vous svp m'expliquer, ce que le si la requête est exactement en train de faire?
OriginalL'auteur techno
Vous pouvez utiliser une ligne script AWK:
OriginalL'auteur JTextor
Changer la date de l'invite comme ceci:
Aussi, le format de la date à 4 chiffres de l'année, et en secondes depuis la minute avec
OriginalL'auteur wallyk