différence-redirection vers bit bucket (aka / dev / null) vs fermeture du descripteur de fichier

Y a-t-il une différence entre les deux commandes ci-dessous?

ls -l some_non_existing_file 2>/dev/null 

et

 ls -l some_non_existing_file 2>&- 

Les deux semblent fonctionner mais je n’ai vu que le premier utilisé pratiquement jusqu’à présent.

Les tentatives du programme pour sortir des données sur stderr échoueront dans le second cas avec EBADF . Que le programme se soucie ou non est une question distincte.