Redirigere lo stdout di uno script bash allo stdin di un comando
Ciao a tutti, vorrei fare uno script che rediriga il suo stdout allo stdin di logger. Per adesso devo creare una fifo per farlo, ma volevo sapere se si poteva farlo senza creare file intermedi. Leggendo qui: http://www.faqs.org/docs/abs/HTML/ioredirintro.html Dovrebbe essere un comando del tipo: exec > >(logger) Ma ottengo sempre l'errore: syntax error near unexpected token `>' Qual'è la sintassi corretta?
Re: Redirigere lo stdout di uno script bash allo stdin di un comando
Mattia wrote: vorrei fare uno script che rediriga il suo stdout allo stdin di logger. devi usare una pipe, esempio $ echo "Ciao" | sed "s/C/M/" Dovrebbe essere un comando del tipo: exec > >(logger) Ma ottengo sempre l'errore: syntax error near unexpected token `>' prima di tutto non devi mai mettere uno spazio tra i simboli '>>' '>' <- redirige l'output '<' <- redirige l'input '>>' <- redirige l'output con append '<<' <- redirige l'input con append Ciao Davide -- Dizionari: http://linguistico.sourceforge.net/wiki Strumenti per l'ufficio: http://it.openoffice.org GNU/Linux User: 302090: http://counter.li.org Non autorizzo la memorizzazione del mio indirizzo su outlook -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Redirigere lo stdout di uno script bash allo stdin di un comando
Il giorno dom, 20/01/2008 alle 14.59 +0100, Mattia ha scritto: > Il problema era che la prima riga dello script era: > #!/bin/sh > > Per farlo funzionare correttamente invece: > #!/bin/bash > > Ma non dovrebbe funzionare lo stesso visto che /bin/sh è un link > simbolico a /bin/bash?? No, perché alcuni tipi di redirezione non sono uno standard delle Bourne shell ma un'estensione della Bash. /bin/sh garantisce di essere una Bourne shell ma non è detto che sia una Bash. Per questo, per facilitare il debug, se invochi la bash chiamandola "sh" invece di "bash", lei va in modalità compatibile e si rifiuta di eseguire tutti i costrutti avanzati. federico -- Federico Di Gregorio http://people.initd.org/fog Debian GNU/Linux Developer[EMAIL PROTECTED] INIT.D Developer [EMAIL PROTECTED] Having paid our respects to the dead (Taligent), nearly dead (Objective-C) and legendary (Symbolics), let's start digging into the features that make Python a great language for mix-in programming. -- Chuck Esterbrook signature.asc Description: Questa è una parte del messaggio firmata digitalmente
Re: Redirigere lo stdout di uno script bash allo stdin di un comando
On Sun, 20 Jan 2008 15:17:27 +0100 Federico Di Gregorio <[EMAIL PROTECTED]> wrote: > > Ma non dovrebbe funzionare lo stesso visto che /bin/sh è un link > > simbolico a /bin/bash?? > > No, perché alcuni tipi di redirezione non sono uno standard delle Bourne > shell ma un'estensione della Bash. /bin/sh garantisce di essere una > Bourne shell ma non è detto che sia una Bash. Per questo, per facilitare > il debug, se invochi la bash chiamandola "sh" invece di "bash", lei va > in modalità compatibile e si rifiuta di eseguire tutti i costrutti > avanzati. > > federico Grazie, sei stato molto esauriente. Mattia.
Re: Redirigere lo stdout di uno script bash allo stdin di un comando
On Sun, 20 Jan 2008 13:58:32 +0100 Davide Prina <[EMAIL PROTECTED]> wrote: [...] Scusami, non mi sono spiegato bene: intendevo dire redirigere lo stdout in modo permanente, in modo che gli output di tutti i comandi andassero a logger, non solo uno. Il problema era che la prima riga dello script era: #!/bin/sh Per farlo funzionare correttamente invece: #!/bin/bash Ma non dovrebbe funzionare lo stesso visto che /bin/sh è un link simbolico a /bin/bash??