[script bash] question toute simple

question toute simple [script bash] - Programmation

Marsh Posté le 03-05-2002 à 19:25:21    

Salut tout le monde
 
Je cherche à rediriger la sortie d'un programme en ligne de commande vers un fichier dont le nom est une variable.
 
J'ai essayé ça :
 
#!/bin/bash
set DATE='date +%Y%m%d-%H%M%S'
tcpdump > $DATE
 
et ça me dit : $DATE: ambiguous redirect
 
et si je change la dernière ligne par tcpdump > 'DATE', ça sort bien le contenu, mais le fichier s'appelle $DATE (au lieu du
Macolu (7:24 PM) :  
contenu de cette variable).
 
Je suppose que la solution est toute simple :-)
 
Merci d'avance,

Reply

Marsh Posté le 03-05-2002 à 19:25:21   

Reply

Marsh Posté le 03-05-2002 à 19:29:15    

set DATE=`date +%Y%m%d-%H%M%S`
 
Avec des quotes inversées (AltGr-7)

Reply

Marsh Posté le 03-05-2002 à 20:31:09    

euh, désolé mais ça fait pareil....

Reply

Marsh Posté le 03-05-2002 à 20:46:15    

Vire le set tant que t'y es :

Code :
  1. #!/bin/bash
  2. DATE=`date +%Y%m%d-%H%M%S`
  3. tcpdump > "$DATE"


 
Sinon les double quotes (" ) permettent l'interprétation par le shell du contenu (eg. le remplacement des $VAR par leur valeur). Les simple quotes (';) interdisent cette interprétation. Les reverse quotes (`) exécutent la chaine et la remplacent par sa sortie.

 

[jfdsdjhfuetppo]--Message édité par Matafan le 03-05-2002 à 20:52:40--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 03-05-2002 à 23:26:42    

Ça marche nickel (et en plus j'ai compris :-)
 
Merci bien

Reply

Sujets relatifs:

Leave a Replay

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