Timeline
Chat
Prospettiva

Redirezione

forma di comunicazione intraprocesso Da Wikipedia, l'enciclopedia libera

Remove ads

La redirezione, in informatica, è la deviazione dei canali standard (standard input, standard output e standard error) di un dato comando verso destinazioni (o da sorgenti, nel caso dello standard input) che sono diverse da quelle predefinite.

Disambiguazione – "Redirect" rimanda qui. Se stai cercando altri significati, vedi Reindirizzamento di URL.
Remove ads

Esempi

La redirezione è tipica di molte shell testuali, ed in esse si può effettuare inserendo appositi caratteri di redirezione tra i comandi. La sintassi tipica è la seguente:

comando  > nome_file

Nell'esempio precedente viene eseguito comando ed il suo standard output viene scritto nel file nome_file. In modo simile si può fornire ad un comando dei dati sullo standard input:

comando < nome_file

In questo caso comando viene eseguito elaborando i dati presenti nel file nome_file.

Da notare che lo standard output di un comando può essere fornito direttamente come standard input di un comando successivo interponendo tra essi una barra verticale ("|"), ad esempio:

comando1 | comando2

Qui viene eseguito comando1 ed il suo output diventa l'input per comando2 (il cui output può essere a sua volta ridirezionato). In questo caso si parla di pipeline software.

Remove ads

Funzione "appendi"

In bash, come in altre shell testuali, è possibile usare dei caratteri di redirezione che aggiungono lo standard output del comando al termine di un file invece di sovrascriverne il contenuto. Ad esempio:

comando >> nome_file

aggiunge (append in inglese) l'output di comando al contenuto del file nome_file. Se esso non esiste, sarà creato.

Questa funzione viene tipicamente usata negli script di shell per realizzare dei file di log che tengono traccia delle attività svolte.

Remove ads

Funzione "here document" ("documento sul posto")

Nelle shell testuali dei sistemi Unix e Unix-like è normalmente disponibile anche un tipo di redirezione che permette di specificare direttamente del testo su più righe come standard input ad un comando. Ad esempio:

comando << marcatore
linea1
linea2
..
marcatore

marcatore è una singola parola arbitraria (tipicamente EOF, da "end of file"). Tutte le linee di testo comprese tra le due occorrenze di marcatore (l'ultima occorrenza deve apparire da sola su una linea) saranno fornite sullo standard input a comando.

Normalmente il testo è soggetto alla sostituzione di variabili e di comandi tipiche delle shell testuali, tranne quando marcatore è specificato tra virgolette doppie o apici singoli. Ad esempio:

 numero=42
 cat << EOF
    Il numero è $numero
    La data di oggi è `date`
 EOF

fornisce a cat il testo compreso tra le due occorrenze di EOF, sostituendo la variabile $numero con il suo valore, e sostituendo l'espressione `date` con l'output del comando date.

Voci correlate

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads