l'homme ne fonctionne pas (trop d'arguments)


23

J'obtiens ceci une erreur en essayant de fonctionner mansur un système Linux:

$ LC_ALL=C man man

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

Ma mancommande ne semble pas être un alias:

command -v man: /usr/bin/man 

Que se passe-t-il?


Quelle est la sortie de "alias man" ou simplement "alias"?
rbrtflr

1
Êtes-vous manun alias? Vérifiez avec type manou command -v man.
Kusalananda

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

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

1
@jayooin Il définit les paramètres régionaux par défaut sur les Cparamètres régionaux standard . Il n'y a rien d'étrange à ce sujet.
Kusalananda

Réponses:


39

Vérifiez l'existence d'une MANOPTvariable.

MANOPT
Si $MANOPTest défini, il sera analysé avant manla ligne de commande de et devrait être dans un format similaire.

la source

Exemple:

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

Une solution ad hoc évidente est de unset MANOPT. Ensuite, vous devez rechercher d'où vient la variable.


Alors, pourquoi l'erreur Too many arguments? Comme si je export MANOPT=foo, pourquoi ça ne dit pas No manual entry for foo?
wjandrea

1
@wjandrea manse divise probablement MANOPTen espaces, puis exécute le tableau résultant getopt(3), et se plaint s'il reste des arguments non optionnels (c'est-à-dire des arguments ne commençant pas par un tiret). Ils auraient pu utiliser un meilleur message d'erreur. Quoi qu'il en soit, même un seul argument est trop pour lui: essayez MANOPT=man man man.
mosvy
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.