insan çalışmıyor (çok fazla tartışma var)


23

manBir Linux sisteminde çalıştırmaya çalışırken bu hatayı alıyorum :

$ LC_ALL=C man man

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

Benim mankomut bir takma ad olarak görünmüyor:

command -v man: /usr/bin/man 

Neler oluyor?


"Alias ​​Man" ya da basitçe "alias" ın çıktısı nedir?
rbrtflr

1
Sizin mi manbir takma? type manVeya ile kontrol edin command -v man.
Kusalananda

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

command -v man: / usr / bin / man
Need:

1
@ jayooin Varsayılan yerel ayarı standart Cyerel ayarlara göre ayarlıyor . Bu bit hakkında garip bir şey yok.
Kusalananda

Yanıtlar:


39

MANOPTDeğişkenin varlığını kontrol edin .

MANOPT
Ayarlanırsa $MANOPT, mankomut satırından önce ayrıştırılır ve benzer biçimde olması beklenir.

kaynak

Örnek:

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

Açık bir geçici düzeltme yapmaktır unset MANOPT. O zaman değişkenin nereden geldiğini araştırmalısınız.


Peki neden hata Too many arguments? Mesela ben export MANOPT=fooneden söylemiyor No manual entry for foo?
wjandrea

1
@ wjandrea manmuhtemelen MANOPTboşluklara bölünüyor ve ardından sonuç dizisini geçiyor getopt(3)ve herhangi bir seçenek olmayan bağımsız değişkenin (örneğin, kısa çizgi ile başlamayan değişkenler) bırakıldığından şikayet ediyor. Daha iyi bir hata mesajı kullanabilirlerdi. Her neyse, tek bir argüman bile bunun için çok fazla: deneyin MANOPT=man man man.
mosvy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.