Je commence dans un répertoire vide.
$ touch aFile
$ ls
aFile
Ensuite, j'ai ls
deux arguments, dont l'un n'est pas dans ce répertoire. Je redirige les deux flux de sortie vers un fichier nommé output
. J'utilise >>
afin d'éviter d'écrire simultanément.
$ ls aFile not_exist >>output 2>>output
$ cat output
ls: cannot access 'not_exist': No such file or directory
aFile
Ce qui semble fonctionner. Y a-t-il des dangers à cette approche?
ls aFile not_exist &>>output
ici? (Remarque, je suppose que vous utilisez bash .)
&>>
n'est PAS standard. C'est une syntaxe obsolète et ambiguë qui fonctionne différemment dans différents shells. Je me demande d'où vous tirez vos affaires.
ls &>>foo ...
doit être analysé comme deux commandes ls &
et >>foo ...
, et c'est ainsi que d'autres shells comme /bin/sh
Ubuntu le analysent. Pour qu'il soit obsolète, vous pouvez regarder ici - bien que je ne prétende pas que ce soit une sorte d'autorité. bash
Cependant, vous pouvez demander aux responsables s'ils considèrent que c'est une bonne idée.