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?

Butuh bantuan
sumber
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.

Kamil Maciorowski
sumber
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