Soluzione 1:
-  No, vanno a STDOUT (se usi echo) o STDERR (se usiecho >&2).
-  I tuoi script devono scrivere nei log e/o nel syslog da soli (la tua distribuzione potrebbe contenere alcuni init.d funzioni che potrebbero aiutarti - aggiungi la tua distribuzione alla tua domanda). 
 Se cerchi i log cerca il tee comando. Se scegli syslog guarda logger . Puoi combinarli come preferisci.
Soluzione 2:
Scrivi uno script wrapper che chiami il tuo script e reindirizzi l'output a un file
#!/bin/bash
    /path/to/your/script &>/path/to/logfile
Soluzione 3:
Potresti creare una funzione per far risuonare il messaggio sia sullo schermo che su syslog, qualcosa del genere:
LOGGER="/usr/bin/logger -t $myScript"    # check the location of logger for your system
myEcho () {
    echo "$1"
    $LOGGER "$1"
}
Puoi anche metterlo in un file separato e includerlo nei tuoi script con
#!/bin/bash
myScript=$(basename $0)
[ -r /myFunctions/myecho ] && . /myFunctions/myecho
Soluzione 4:
 I messaggi dagli script init generalmente non vengono catturati da nessuna parte. Pertanto, è necessario implementare un modo per farlo da soli. Una buona idea è usare logger per inviare tutto l'output a syslog. Questo esempio invierà stdout e stderr a syslog:
exec 1> >(logger -s -t $(basename $0)) 2>&1
L'ho trovato in questo fantastico articolo:http://urbanautomaton.com/blog/2014/09/09/redirecting-bash-script-output-to-syslog/.