Spesso ho difficoltà a capire determinati costrutti del linguaggio perché non si registreranno quando si cercano su Google o si distruggono. Con un po 'di sperimentazione, è spesso semplice capirlo, ma non lo capisco.Cosa significa "meno" in "exec 3> & -" e come lo uso?
Spesso vedo cose come 2>&1
o 3>&-
in script bash. So che questa è una sorta di reindirizzamento. 1 è stdout e 2 è stderror. 3 è probabilmente personalizzato. Ma qual è il meno?
Inoltre, ho uno script di cui voglio registrare l'output, ma voglio anche vederlo sullo schermo. Io uso exec > >(tee $LOGFILE); exec 2>&1
per quello. Funziona. Ma a volte, quando bashtrap questo script, non riesco più a digitare il prompt. L'output è nascosto dopo Ctrl+C
. Posso utilizzare un canale personalizzato e il segno meno per risolvere il problema oppure non è correlato?
Hai due risposte precise. Il documento [Csh Programming Considered Harmful] (http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/) copre anche l'uso di queste annotazioni e spiega perché le conchiglie dovrebbero essere lasciate sul riva del mare e non usato per scrivere copioni. –