Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/02/2007, à 17:06

ReMs_ReMY

[résolu] Shell (sh) opération sur les dates unix

Bonjour,

Je débute en script shell.
Comment faire pour avoir l'heure unix actuelle de type entier ?

Je veux faire la différence entre deux dates en seconde unix :

#!bin/sh
debut= # (date +%s) mais en variable de type entier (pour soustraire)
# ... code ...
fin= # (date +%s) en variable de type entier
diff=(fin-debut)

Merci !

Dernière modification par ReMs_ReMY (Le 27/02/2007, à 17:55)

Hors ligne

#2 Le 27/02/2007, à 17:45

kaworu

Re : [résolu] Shell (sh) opération sur les dates unix

salut !

#!/bin/bash

debut=$(date +%s)
sleep 5
fin=$(date +%s)
let "diff = fin - debut" # ou avec l'expension arithmétique : diff=((fin - debut))
echo $diff

sauf erreur, l'expension arithmétique ((expr)) est propre à Bash et au Korn Shell (Bash l'a repris du Korn en faite). let est un built-in bash qu'il devrait y avoir dans tous les shells, autrement expr peut aussi faire le boulot (coreutils) : diff=$(expr $fin - $debut)

Dans tous les cas, faire un script avec un shabang /bin/sh est une très mauvaise habitude. Si tu veux écrire des script POSIX il te faudra du café bien fort et une solide connaissance des shells. Je te conseil de faire plutôt des scripts bash, à moins que tu aie vraiment envie de faire un script sh.

Dernière modification par kaworu (Le 27/02/2007, à 17:46)


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne

#3 Le 27/02/2007, à 17:51

ReMs_ReMY

Re : [résolu] Shell (sh) opération sur les dates unix

Waouw ! Merci du conseil, je vais me documenter.

Hors ligne

#4 Le 27/02/2007, à 17:54

kaworu

Re : [résolu] Shell (sh) opération sur les dates unix

Le guide ABS (Advanced Bash Scripting) est une véritable référence pour Bash, et (oh ! joie !) il existe une version traduite :
http://abs.traduc.org/
C'est une référence solide, avec pleins d'exemples. Bonne lecture.


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne

#5 Le 27/02/2007, à 17:56

ReMs_ReMY

Re : [résolu] Shell (sh) opération sur les dates unix

J'ai meme pas eu le temps de lancer google ! wink
Merci encore !

Hors ligne