Я начинаю в пустой директории.
$ touch aFile
$ ls
aFile
Тогда у меня есть lsдва аргумента, один из которых отсутствует в этом каталоге. Я перенаправляю оба выходных потока в файл с именем output. Я использую >>, чтобы не писать одновременно.
$ ls aFile not_exist >>output 2>>output
$ cat output
ls: cannot access 'not_exist': No such file or directory
aFile
Который, кажется, работает. Есть ли опасность для этого подхода?
ls aFile not_exist &>>outputздесь? (Обратите внимание, я предполагаю, что вы используете Bash .)
&>>НЕ является стандартным. Это УСТАРЕВШИЙ, неоднозначный синтаксис, который по-разному работает в разных оболочках. Интересно, откуда вы, ребята, берете свои вещи?
ls &>>foo ...должны быть разобраны как два comands ls &и >>foo ..., и это путь , другие оболочки вроде /bin/shс Ubuntu разбирает его. Поскольку это устарело, вы можете посмотреть здесь - хотя я не претендую на то, что это какой-то авторитет. Вы можете спросить bashсопровождающих, считают ли они, что это хорошая идея.