людина не працює (занадто багато аргументів)


23

Я отримую цю помилку при спробі запуску manв системі Linux:

$ LC_ALL=C man man

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

Моя manкоманда, схоже, не є псевдонімом:

command -v man: /usr/bin/man 

Що відбувається?


Який вихід "псевдонім людини" або просто "псевдонім"?
rbrtflr

1
Ваш manпсевдонім? Зверніться до type manабо command -v man.
Kusalananda

псевдонім ll = 'ls -l --color = auto | grep' \ '' - '\' '' псевдонім ls = 'ls --color = auto'
NeedHelp

команда -v man: / usr / bin / man
NeedHelp

1
@jayooin Встановлює стандартну локаль за стандартною Cмовою. У цьому шматочку немає нічого дивного.
Kusalananda

Відповіді:


39

Перевірте існування MANOPTзмінної.

MANOPT
Якщо $MANOPTцей параметр встановлений, він буде проаналізований перед manкомандним рядком і, як очікується, буде у подібному форматі.

джерело

Приклад:

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

Очевидне спеціальне виправлення - це unset MANOPT. Тоді слід дослідити, звідки походить змінна.


То чому помилка Too many arguments? Як якщо б я export MANOPT=foo, чому це не говорить No manual entry for foo?
wjandrea

1
@wjandrea man, ймовірно, розбивається MANOPTна пробіли, а потім запускає отриманий масив наскрізь getopt(3), і скаржиться на те, що залишилися якісь необов'язкові аргументи (тобто аргументи, які не починаються з тире). Вони могли використовувати краще повідомлення про помилку. У будь-якому випадку, навіть один аргумент - це занадто багато: спробуйте MANOPT=man man man.
mosvy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.