2017-01-20 1 views
1

Je valide habituellement la date dans mes scripts shell avec cette commande:Valider une date dans le script shell (avec la date BSD)

date "+%Y-%m-%d" -d "2017-01-28" > /dev/null 2>&1 
is_valid=$? 

Cela fonctionne parfaitement avec la date GNU .. Mais pas avec les BSD . Une idée de comment faire la même chose avec la version BSD de la date?

+0

étrange, puisque 'homme date' pour la date BSD dit _La utilitaire date quitte 0 succès, 1 si impossible de définir la date, et 2 si \t en mesure de \t définir la date locale \t, mais \t impossible de le définir globalement._ – fedorqui

Répondre

1

FreeBSDdate ne supporte pas le drapeau -d,

date -f "%Y-%m-%d" -j "2017-01-28" >/dev/null 2>&1 
is_valid=$? 

(ou)

date -f "%Y-%m-%d" -j "2017-01-28" >/dev/null 2>&1 && printf "Date validation success\n" || printf "Date validation fail\n" 
+0

Juste ce dont j'avais besoin, merci s! – SBO