Entonces, parece que escribir man git init
en un indicador de bash en un sistema Ubuntu 14.04 hace lo mismo que man git-init
, solo que no estoy muy seguro de cómo.
La man
página para man
(es decir man man
) no parece permitir esta construcción, a menos que git
era una section
del manual, pero la página hombre parece venir de la sección 1
.
¿Es este un uso no documentado compatible con man
? ¿He entendido mal la documentación de man
? ¿Está ocurriendo alguna otra magia? ¿A alguien le importa explicar?
git init
Respuestas:
Algunas implementaciones de
man
, incluida la utilizada por Ubuntu, reemplazan espacios en sus términos de búsqueda con guiones e intentan encontrar una página de manual con ese nombre. Entoncesman git init
busca lo mismo queman git-init
. Del mismo modo,man run parts
yman ntfs 3g
trabajar (si tienerun-parts
yntfs-3g
en su sistema).Sin embargo, solo hace esto con pares de palabras, por lo
man git annex sync
que no funciona (aunqueman git-annex sync
sí, ya que nuevamente es un par de palabras).De hecho, cuando solicita dos páginas de manual (por ejemplo,
man git bash
para ver las páginas de manual de git y bash), enman
realidad primero trata de buscar una página degit-bash
manual. Puede ver esto en la salida de depuración si lo habilita con-d
.Esta función de hombre se llama "subpáginas". Puede leer el código fuente implementando subpáginas en man-db (gracias, Stephen Kitt ). Buscar en la
man(1)
página de manual para "subpáginas" también le llevará a la descripción de este comportamiento bajo la--no-subpages
opción:fuente
man
implementaciones), y las subpáginas no se han deshabilitado (por ejemplo, con--no-subpages
). Estoy usando Debian, por lo que definitivamente no es solo Ubuntu.man
. De ninguna manera es universal o común en particular.