shell et postfix

Arnaud Launay asl at launay.org
Tue Oct 23 18:30:00 CEST 2007


Le Tue, Oct 23, 2007 at 06:19:41PM +0200, Bruno Bonfils a écrit:
> > # mailq | grep MAILER-DAE | cut -c1-11 | xargs postsuper -d
> > postsuper: fatal: invalid directory name: 3089A2A9AEB
> > # mailq | grep MAILER-DAE | cut -c1-11 | for i in read - ; do  postsuper -d $i; done
> > [snip]
> > postsuper: D34B62AA563: removed
> > postsuper: Deleted: 15 messages
> Que la documentation de postsuper dis qu'il n'accepte qu'un seul
> argument à l'option -d, et que l'argument suivant est .. un répertoire
>        postsuper [-psv] [-c config_dir] [-d queue_id]
>                [-h queue_id] [-H queue_id]
>                [-r queue_id] [directory ...]
> 

Heu, tu sais pas lire ;) Il accepte un numéro de queue.

> Je pense que le mieux est d'essayer de passer par stdout, il
> est possible que
> % mailq | grep MAILER-DAE | cut -c1-11 | postsuper -d - 
> fonctionne

Non, ça, ça fonctionnerait si on pouvait avoir postsuper -d Q1 -d
Q2 -d Q3, etc.

xargs est censé faire
arg1 arg2 arg3 -> xargs postsuper -d  :
postsuper -d arg1
postsuper -d arg2
postsuper -d arg3

Or, ce n'est à priori pas ce qui se passe...

       This  manual  page  documents  the  GNU version of xargs.
xargs reads items from the standard input, delimited by blanks
(which can be protected with double or single quotes or a
backslash) or newlines, and executes the command (default is
/bin/echo) one or more times with any initial-arguments followed
by items read from standard input.   Blank  lines  on the
standard input are ignored.


Non non, ça m'échappe définitivement.

	Arnaud.
-- 
Perso: http://launay.org/blog/
Hébergement: http://www.nocworld.com/


More information about the Shell mailing list