[HS] variable dans shell script

Le
fabrice régnier
salut la liste ;)

j'ai la commande suivante:

~$ date -d "$(date -d '- 1 month' +%Y-%m-1) -1 day" '+%Y-%m-%d'
2008-12-31

qui me donne le dernier jour du mois m-2.

Je souhaite remplacer le 1 (avant month) par une variable $compteur sans
y parvenir.

Quelque chose du genre :

~$ date -d "$(date -d '- $compteur month' +%Y-%m-1) -1 day" '+%Y-%m-%d'
date: invalid date `- $compteur month'

Quelqu'un a une idée ?

Sinon, je n'ai pas trouvé (non plus), le newsgroup français dédié au shell.

merci et a+

f.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Kevin Hinault
Le #18651621
--001636c5a81c3d949d0462b8f975
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

2009/2/1 fabrice régnier
date -d "$(date -d '- $compteur month' +%Y-%m-1) -1 day" '+%Y-%m-%d'




J'ai testé avec juste des ' et ça marche :

$ compteur=2; date -d "$(date -d '- '$compteur' month' +%Y-%m-1) -1 day"
'+%Y-%m-%d'
2008-11-30

En l'occurence, ici je le fais en oneline mais dans un script il suffit de
séparer les deux lignes et d'enlever le ;

--001636c5a81c3d949d0462b8f975
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div id=":2bn" class="ArwC7c ckChnd">date -d &quot;$(date -d &#39;- $co mpteur month&#39; +%Y-%m-1) -1 day&quot; &#39;+%Y-%m-%d&#39;</div></blockqu ote></div><br>J&#39;ai testé avec juste des &#39; et ça marche :<br><br >$ compteur=2; date -d &quot;$(date -d &#39;- &#39;$compteur&#39; month&# 39; +%Y-%m-1) -1 day&quot; &#39;+%Y-%m-%d&#39;<br>
2008-11-30<br><br>En l&#39;occurence, ici je le fais en oneline mais dans u n script il suffit de séparer les deux lignes et d&#39;enlever le ;<br><b r>

--001636c5a81c3d949d0462b8f975--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Jacques L'helgoualc'h
Le #18652291
Kevin Hinault a écrit, jeudi 12 février 2009, à 14:48 :
2009/2/1 fabrice régnier
> date -d "$(date -d '- $compteur month' +%Y-%m-1) -1 day" '+%Y-%m-%d'

J'ai testé avec juste des ' et ça marche :

$ compteur=2; date -d "$(date -d '- '$compteur' month' +%Y-%m-1) -1 day"
'+%Y-%m-%d'
2008-11-30



On peut aussi utiliser "...", le $() permet d'emboîter les deux chaînes :

$ compteur=2; date -d "$(date -d "-$compteur month" +%Y-%m-1) -1 day" +%F
2008-11-30

[...]
> je n'ai pas trouvé (non plus), le newsgroup français dédié au shell.



Pour le shell, tu peux voir la liste http://www.debianworld.org/shellscript-fr
ou encore --
Jacques L'helgoualc'h

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme