J'ai appuyé ~TabTabsur l'invite de commande bash et j'ai obtenu un ensemble de complétions inattendu.
Tout d'abord, il ressemblait à tous les gens du /Users
répertoire, et bien plus encore.
Ensuite, j'ai pensé qu'il faisait la recherche inversée des gens avec des répertoires "home" dans /etc/password
, ou peut-être ceux qui étaient /var/empty
- cela semble à peu près juste.
Ce qui m'intéresse, c'est ce qui se passe vraiment et pourquoi cela fonctionne comme ça.
la source
/home
n'est pas pertinente, cela ne fera pas apparaître un nouveau nom d'utilisateur. Notez également que les $ HOME de tous les utilisateurs ne sont pas dans/home
(ou/Users
).Sur OS X, Open Directory est consulté à la place de / etc / passwd.
la source
Le manuel de référence de Bash dit :
Bash utilise la
getpwent
fonction pour terminer.man getpwent
sur OSX dit:la source