Problème avec la commande date [RESOLU] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 10-01-2007 à 12:50:24
Ca m'étonnerait que ça marche avec le "date" de Solaris.
Si ça marche ça doit être avec la version GNU.
Marsh Posté le 10-01-2007 à 13:23:22
Il y a un truc super simple que tu peux faire, je ne sais pas si ca fonctionne sous Solaris, mais sous aix nickel:
TZ_ORI=$TZ |
et zou
edit: petit oubli, pense a ajouter ta timezone actuelle (-1)
sous AIX la TZ ressemble a ca: NFT-1DFT,M3.5.0,M10.5.0 (avec les passages heure d'ete/hiver)
tu dois donc avoir (pour un truc propre mais bon ca sert pas a grand chose): TZ=NFT+359DFT,M3.5.0,M10.5.0
et j'ai pas envie de reflechir a ce que ca donne si on se trouve moins de 15 jours apres un changement d'heure ete/hiver...
Marsh Posté le 10-01-2007 à 15:25:28
Je vous remerci pour vos réponse, mais la réponse de Zoidberg me parait un peu compiquer pour moi. Désolé
Y a t il une autr ecomande qui retourne la date ?
Marsh Posté le 10-01-2007 à 15:31:17
attends, c tout ce qu'il y a de plus simple, ce que j'ai mis a la fin c'est pour que ca soit plus propre, mais la je vois pas comment faire plus simple, essaye:
TZ_ORI=$TZ
TZ=+359
date
TZ=$TZ_ORI
Marsh Posté le 11-01-2007 à 11:47:46
Merci pour ta réponse Zoidberg
Je écris ce petit script pour faire mes tests sur ce problème de date en incluant ton bout de code :
#!/bin/ksh
. $HOME/.profile
jour=`date +%d`
mois=`date +%m`
annee=`date +%Y`
echo "Le jour d'aujourd'hui est : $jour $mois $annee"
date
TZ_ORI=$TZ
TZ=+360
date
TZ=$TZ_ORI
Résultat :
bash-2.03$ ./purge.sh
Le jour d'aujourd'hui est : 11 01 2007
Thu Jan 11 11:44:13 MET 2007
Thu Jan 11 10:44:13 GMT 2007
Donc il passe en GTM et il y a un décalage d'une heure...
J'ai essyer de mettre des nombre plus important a la ligne TZ=+360, mais ca ne change rien
Merci encore pour ton aide
Marsh Posté le 11-01-2007 à 12:10:07
Salutation !
J'ai trouvé ceci sur google : http://www.labo-sun.com/resource-F [...] olaris.htm
Il y est bien ecrit que :
Citation : Le système Solaris ne permet pas l'ajout du champ " '-1 day' " ou d'un équivalent... |
J'ai essayer ca :
bash-2.03$ echo `TZ=MET+360 date +"%D"`
12/27/06
huhu ^^ ca marrrrrche
Merci Zoidberg pour le temps que tu m'as consacré
Marsh Posté le 11-01-2007 à 13:56:54
ton 1er script ne marche pas car tu modifies la valeur de la variable TZ en local donc la commande date ne voit pas la modif ...
donc effectivement, soit ta technique tout sur une ligne :
TZ=MET+360 date
soit en utilisant export pour rendre la nouvelle variable TZ globale :
export TZ=MET+360
date
export TZ=$TZ_ORI
Marsh Posté le 11-01-2007 à 15:43:15
cool
par contre je ne comprends pas bien pourquoi ca ne marche pas si tu le fais sur plusieurs ligne sans exporter la variable, je viens de tester (aix 5.3 ml3) et ca fonctionne:
#!/bin/ksh |
je lance:
Thu Jan 11 15:41:58 NFT 2007 |
bref, pas grave du moment que t'as pu faire ce que tu voulais
Marsh Posté le 11-01-2007 à 17:29:47
en faite je suis sur un serveur en SOLARIS. Ca fonctionne peut etre pas de la meme facon que sous AX. Merci encore
Marsh Posté le 10-01-2007 à 12:13:16
Bonjour à tous,
Je suis en train d'ecrire un script sous solaris 9 et j'ai un problème.
J'ai besoin de récupérer la date du jour - 15 jours...
J'ai vu sur plusieur forum cette commande :
quinzeJoursAvant=$(date --date='15 days ago')
le truc, c'est que ça ne marche pas dans mon cas
bash-2.03$ date --date='15 days ago'
date: illegal option -- -
date: illegal option -- d
date: invalid argument -- te=15 days ago
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
Une idée ? une solution ?
Merci
Message édité par jesusdebethune le 11-01-2007 à 12:12:11