Mann arbeitet nicht (zu viele Argumente)


23

Ich bekomme einen Fehler, wenn ich versuche, manauf einem Linux-System zu laufen :

$ LC_ALL=C man man

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

Mein manBefehl scheint kein Alias ​​zu sein:

command -v man: /usr/bin/man 

Was ist los?


Was ist die Ausgabe von "alias man" oder einfach "alias"?
rbrtflr

1
Bist du manein Pseudonym? Überprüfen Sie mit type manoder command -v man.
Kusalananda

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

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

1
@jayooin Es setzt das Standardgebietsschema auf das Standardgebietsschema C. An diesem Stück ist nichts Seltsames.
Kusalananda

Antworten:


39

Überprüfen Sie das Vorhandensein der MANOPTVariablen.

MANOPT
Wenn $MANOPTgesetzt, wird es vor der manKommandozeile analysiert und es wird erwartet, dass es ein ähnliches Format hat.

Quelle

Beispiel:

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

Ein offensichtlicher Ad-hoc-Fix ist zu unset MANOPT. Dann sollten Sie untersuchen, woher die Variable stammt.


Warum ist der Fehler Too many arguments? Wie wenn ich export MANOPT=foo, warum sagt es nicht No manual entry for foo?
wjandrea

1
@wjandrea teilt mansich wahrscheinlich MANOPTin Leerzeichen auf und führt dann das resultierende Array durch getopt(3)und beschwert sich, wenn Argumente, die keine Option sind (dh Argumente, die nicht mit einem Bindestrich beginnen), übrig bleiben. Sie hätten eine bessere Fehlermeldung gebrauchen können. Jedenfalls ist ein einziges Argument zu viel dafür: versuchen Sie es MANOPT=man man man.
Mosvy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.