Ho questo script di shell che utilizzo per eseguire il backup del mio sistema. C'è una linea:Errore di sintassi nello script di shell con sostituzione di processo
tar -Pzcpf /backups/backup.tar.gz --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=backups --exclude=var/log/2> >(grep -v 'socket ignored' >&2)
Come potete vedere, ho cercato di filtrare il fastidioso "presa ignorato", inutile errore da tar, utilizzando this blog post.
quello che ottengo da shell al momento dell'esecuzione è:
/bin/sysback: Linea 45: errore di sintassi nei pressi di token imprevisto
>' /bin/sysback: line 45:
tar -Pzcpf/backup/backup --directory =/ --exclude = proc --exclude = sys --exclude = dev/pts --exclude = backup --exclude = var/log/2>> (grep -v 'presa ignorato'> & 2)'
penso '2>> (' 'dovrebbe essere 2> ('. –
Non ha dato un errore di sintassi dopo questa modifica, ma non filtrare l'output sia. –
La sintassi di sostituzione del processo> (...) è una funzione non standard e la tua shell apparentemente non la supporta.Usa una shell diversa, o forse una versione più recente di bash. –