男人不工作(争论太多)


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 

这是怎么回事?


“ alias man”或简称为“ alias”的输出是什么?
rbrtflr

1
man是别名吗?用type man或检查command -v man
库萨兰达

别名LL = 'ls -l命令--color =自动| grep的'\'' - '\' ''的别名LS = 'LS --color =自动'
NeedHelp

命令-v man:/ usr / bin / man
NeedHelp

1
@jayooin它将默认语言环境设置为标准C语言环境。这一点没有什么奇怪的。
库萨兰达

Answers:


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),并抱怨是否还有任何非选项参数(即,以破折号开头的参数)。他们本可以使用更好的错误消息。无论如何,哪怕只有一个参数也可以:try MANOPT=man man man
mosvy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.