Comment utiliser date avec une variable ...

Comment utiliser date avec une variable ... - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 26-05-2006 à 11:51:49    

voila
 
cette ligne m'affiche i de 1 à 9

Code :
  1. i=0;
  2. while [ $i -lt 9 ]; do  let i=i+1;  echo $i; done;


 
 
cette commande m'affiche la date il y a 0 jour.

Code :
  1. date --date '0 days ago' '+%Y%m%d'


 
J'aimerais executer une commande qui m'afferais les dates d'aujourd'hui à il y a 9 jours.
 
j'ai essayé  

Code :
  1. i=0;
  2. while [ $i -lt 9 ]; do  let i=i+1;  date --date 'i days ago' '+%Y%m%d' echo $i; done;


 
et ca :

Code :
  1. i=0;
  2. while [ $i -lt 9 ]; do  let i=i+1;  date --date '$i days ago' '+%Y%m%d' echo $i; done;


mais cela ne fonctionne pas.
 
Comment faire ?

Reply

Marsh Posté le 26-05-2006 à 11:51:49   

Reply

Marsh Posté le 26-05-2006 à 12:16:47    

weed a écrit :

voila
 
cette ligne m'affiche i de 1 à 9

Code :
  1. i=0;
  2. while [ $i -lt 9 ]; do  let i=i+1;  echo $i; done;


Code :
  1. for i in {1..9};do echo $i; done

:o
(avec zsh, on peut même se passer du do/done :o )
 

Citation :


et ca :

Code :
  1. i=0;
  2. while [ $i -lt 9 ]; do  let i=i+1;  date --date '$i days ago' '+%Y%m%d' echo $i; done;


mais cela ne fonctionne pas.
 
Comment faire ?

Les caractères entre single quotes ne sont pas interprétés par bash.
 
La solution est simple:

Code :
  1. i=0;
  2. while [ $i -lt 9 ]; do  let i=i+1;  date --date "$i days ago" '+%Y%m%d'; done;


 
Ou avec le for :

Code :
  1. for i in {1..9};do date --date "$i days ago" +%Y%m%d; done


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed