Я начинаю в пустой директории.
$ 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
сопровождающих, считают ли они, что это хорошая идея.