el hombre no funciona (demasiados argumentos)


23

Recibo este error cuando intento ejecutar manen un sistema Linux:

$ LC_ALL=C man man

man: Too many arguments
Try 'man --help' or 'man --usage' for more information.

Mi mancomando no parece ser un alias:

command -v man: /usr/bin/man 

¿Que esta pasando?


¿Cuál es el resultado de "alias man" o simplemente "alias"?
rbrtflr

1
¿ manEres un alias? Consulte con type mano command -v man.
Kusalananda

alias ll = 'ls -l --color = auto | grep' \ '' - '\' '' alias ls = 'ls --color = auto'
NeedHelp

comando -v man: / usr / bin / man
NeedHelp

1
@jayooin Establece la configuración regional predeterminada a la Cconfiguración regional estándar . No hay nada extraño en esa parte.
Kusalananda

Respuestas:


39

Verificar la existencia de MANOPTvariable.

MANOPT
Si $MANOPTestá configurado, se analizará antes de manla línea de comando y se espera que tenga un formato similar.

fuente

Ejemplo:

$ MANOPT='foo bar'
$ export MANOPT
$ man man
man: Too many arguments
Try 'man --help' or 'man --usage' for more information.
$

Una solución ad-hoc obvia es hacerlo unset MANOPT. Entonces deberías investigar de dónde vino la variable.


Entonces, ¿por qué es el error Too many arguments? Como si yo export MANOPT=foo, ¿por qué no dice No manual entry for foo?
wjandrea

1
@wjandrea manprobablemente se está dividiendo MANOPTen espacios y luego ejecuta la matriz resultante getopt(3), y se queja si quedan argumentos sin opciones (es decir, argumentos que no comienzan con un guión). Podrían haber usado un mejor mensaje de error. De todos modos, incluso un solo argumento es demasiado para ello: intente MANOPT=man man man.
mosvy
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.