manusia tidak bekerja (terlalu banyak argumen)


23

Saya mendapatkan kesalahan ini ketika mencoba menjalankan manpada sistem Linux:

$ LC_ALL=C man man

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

manPerintah saya sepertinya bukan alias:

command -v man: /usr/bin/man 

Apa yang sedang terjadi?


Apa output dari "alias pria" atau hanya "alias"?
rbrtflr

1
Apakah Anda manseorang alias? Periksa dengan type manatau command -v man.
Kusalananda

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

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

1
@ joayooin Ini mengatur lokal default ke Clokal standar . Tidak ada yang aneh dengan bagian itu.
Kusalananda

Jawaban:


39

Periksa keberadaan MANOPTvariabel.

MANOPT
Jika $MANOPTdiatur, itu akan diuraikan sebelum manbaris perintah dan diharapkan dalam format yang sama.

sumber

Contoh:

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

Perbaikan ad-hoc yang jelas adalah untuk unset MANOPT. Maka Anda harus menyelidiki dari mana variabel itu berasal.


Jadi mengapa kesalahannya Too many arguments? Seperti jika saya export MANOPT=foo, mengapa tidak dikatakan No manual entry for foo?
wjandrea

1
@wjandrea manmungkin membelah MANOPTspasi dan kemudian menjalankan array yang dihasilkan melalui getopt(3), dan mengeluh jika ada argumen non-opsi (yaitu argumen tidak dimulai dengan tanda hubung) ditinggalkan. Mereka bisa menggunakan pesan kesalahan yang lebih baik. Bagaimanapun, bahkan satu argumen terlalu banyak untuk itu: coba MANOPT=man man man.
Mosvy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.