Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2597 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [shell] coment utiliser une variable dans un bloc << EOF ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[shell] coment utiliser une variable dans un bloc << EOF ??

n°340757
duch
Posté le 17-10-2003 à 15:02:19  profilanswer
 

promis j'ai cherché, mais j'trouve pô :(
 
soit le script suivant qui doit récupérer tous les matins les logs d'il y a 3 jours :
 
 

Code :
  1. d=`date +%Y%m%d --date '3 days ago'`
  2. ftp -n ftp.monserveur.fr << EOF
  3. user xxxx xxxx
  4. cd mondossier
  5. mget httphits_log_$d_*
  6. EOF


 
les nom des logs sont de la forme suivante :
httphits_log_20031017.log.gz
 
la portion correspondant à la date "20031017" devrait être remplacée par la date calculée et stocker dans $d et pourtant il télécharge tous les logs (et pas eulement ceux de la bonne date), pourquoi?
 
 
j'ai vérifié, si je ne mets que ces 2 lignes là :

Code :
  1. d=`date +%Y%m%d --date '3 days ago'`
  2. echo $d


 
ça renvoit bien "20031014"


Message édité par duch le 17-10-2003 à 15:04:29
mood
Publicité
Posté le 17-10-2003 à 15:02:19  profilanswer
 

n°340759
bobuse
Posté le 17-10-2003 à 15:03:45  profilanswer
 

utilise lftp, tu auras deja moins de soucis ...
 
ajoute "set -x" au début de ton script pour voir ce qui se passe

n°340761
duch
Posté le 17-10-2003 à 15:06:33  profilanswer
 

merci pour le conseil mais ça doit pouvoir se faire sans installer un autre client, non?
 
j'aime pas installer des trucs pour rien :D

n°340765
duch
Posté le 17-10-2003 à 15:20:59  profilanswer
 

mais bon j'ai qd même essayer avec lftp...
 
et ça fait pareil, il me télécharge tous les logs, et pas seulement ceux du jour j.
 
 
et malheusement la commande set -x ne fonctionne pas dans ce cas là, elle ne revoie pas ce qui se passe dans le bloc EOF...
 
voilà ce que j'ai :
 
++ date +%Y%m%d --date '3 days ago'
+ d=20031014
+ ftp -n -i ftp.monserveur.fr
 
 
et après il télécharge tout en silence :D

n°340775
duch
Posté le 17-10-2003 à 15:41:25  profilanswer
 

trouvé, il suffisait d'écrire

Code :
  1. mget httphits_log_"$d"_*

au lieu de

Code :
  1. mget httphits_log_$d_*


 
et hop pas besoin de lftp :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [shell] coment utiliser une variable dans un bloc << EOF ??

 

Sujets relatifs
Comment utiliser MSN avec linux (red hat 9)???Utiliser les noms Netbios comme DNS ?
[ Shell/Bash ] Quelques commandes pour lancer une appliComment utiliser le port parrallèle ?
[linux] problème script shell : exit status[dialog] comment ajuster la taille des widgets au shell?
Icones KDE/Gnome = les utiliser ds une appli (commerciale)?inverser une chaine de caracteres en shell
script shell sous linux[gdm] Quel fichier dois-je utiliser pour lancer une application ?
Plus de sujets relatifs à : [shell] coment utiliser une variable dans un bloc << EOF ??


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)