Comincio in una directory vuota.
$ touch aFile
$ ls
aFile
Quindi ho ls
due argomenti, uno dei quali non è in questa directory. Reindirizzo entrambi i flussi di output su un file denominato output
. Uso >>
per evitare di scrivere contemporaneamente.
$ ls aFile not_exist >>output 2>>output
$ cat output
ls: cannot access 'not_exist': No such file or directory
aFile
Che sembra funzionare. Ci sono pericoli in questo approccio?
ls aFile not_exist &>>output
qui? (Nota, presumo che tu stia usando bash .)
&>>
NON è standard. È una sintassi DEPRECATA e ambigua che funziona in modo diverso nelle diverse shell. Mi chiedo da dove prendiate le vostre cose.
ls &>>foo ...
dovrebbero essere analizzati come due comandi ls &
e >>foo ...
, in questo modo, altre shell come /bin/sh
Ubuntu lo stanno analizzando. Poiché è deprecato, puoi guardare qui , anche se non pretendo che sia un tipo di autorità. bash
Tuttavia, potresti chiedere ai manutentori se ritengono di usarla.