Soluzione 1:
Puoi reindirizzare l'output di qualsiasi programma in modo che non venga visto.
$ program > /dev/null
Questo reindirizzerà l'output standard - vedrai ancora eventuali errori
$ program &> /dev/null
Questo reindirizzerà tutto l'output, inclusi gli errori.
Soluzione 2:
Ci sono tre dispositivi I/O disponibili sulla riga di comando.
standard input - 0
standard output - 1
standard error - 2
Per reindirizzare l'output standard (l'output predefinito) a un file (e sovrascrivere il file), utilizzare
command > file.log
Per accodare a file.log, usa due >
s
command >> file.log
Per reindirizzare l'errore standard al file.log, usa
command 2> file.log
E per aggiungere
command 2>> file.log
Combinare gli output in un flusso e inviarli tutti in un unico posto
command > file.log 2>&1
Questo invia 2 (errore standard) in 1 (output standard) e invia l'output standard a file.log
Si noti che è anche possibile reindirizzare lo standard input in un comando che si aspetta lo standard input
command << file.txt
Per maggiori dettagli, dai un'occhiata alla Advanced Bash Scripting Guide.
Soluzione 3:
Nascondi output standard:
./command >/dev/null
Nascondi l'output standard e l'errore standard:
./command >/dev/null 2>&1
Nascondi l'output standard e l'errore standard e rilascia il terminale (esegui il comando in background):
./command >/dev/null 2>&1 &
Soluzione 4:
Se vuoi solo nascondere l'output (e non salvarlo in un file), puoi usare:
Modificato:
comando $ &> /dev/null
Soluzione 5:
Per Mac OS X v10.6 (Snow Leopard):
Se hai bisogno di nascondere l'output senza che il programma lo sappia controllando il descrittore del file di output/errore, puoi provare a utilizzare quanto segue in una shell:
stty flusho; command ;stty -flusho
o se vuoi semplicemente nascondere l'input dal terminale:
stty -echo; command ;stty echo
Vedi la pagina di manuale di stty(1) per maggiori informazioni.
Per Linux, tutto quello che so è che Ubuntu 10.04 (Lucid Lynx) e alcuni Debian/Arch Linux (commentati sotto - grazie, hendry) non hanno il flusho
setting (e non riesco a vedere nient'altro di appropriato nella pagina man). Il echo
l'impostazione funziona comunque su Ubuntu.