Trả lời với sự tuyệt vọng
Tôi đang chạy Cygwin trên Windows 7. Khi tôi thử
echo $MANPATH
Tôi không có gì cả. Đây là cách di động của tôi để tìm nơi đặt các man
trang mới .
$ { find / -maxdepth 2 -type d -name "*man*" 3>&2 2>&1 1>&3 | \
grep -v 'Permission denied' >&3; } 3>&2 2>&1
(Một lưu ý về lệnh điên đó nằm ở cuối câu trả lời này.)
Bạn chỉ có thể thay thế /
bằng ~
. Một khả năng khác là dưới phần Ghi chú khác bên dưới.
Trên máy của tôi, find
lệnh trả về:
/etc/openwsman
/lib/filemanager-actions
/lib/gnome-commander
/lib/help2man
/lib/window-manager-settings
/share/man
/usr/man
Đối với tôi, điều đó có nghĩa là có hai khả năng: /share/man
và /usr/man
.
Tôi đã chọn để sử dụng /usr/man
, mà bạn sẽ không, nhưng tôi cần phải khám phá thêm.
$ ls -l /usr/man
total 0
drwxr-xr-x+ 1 me Users 0 April 31 17:13 man1
Vì vậy, nơi tôi có các man
tệp mới trong một doc/
thư mục con của thư mục làm việc của mình, tôi đã sử dụng
$ cp -R doc/* /usr/man/man1
Bây giờ, tôi có thể vào "hướng dẫn" của mình bằng cách gõ
$ man my_new_executable
Nếu bạn không thấy một ứng cử viên có khả năng, bạn có thể xóa phần này hoặc thay đổi nó, ví dụ -maxdepth 3
, hoặc 4
, hoặc 5
, tuy nhiên, cần phải tìm ra thứ bạn cần. Khi tôi làm như vậy với 3
, tôi đã tìm thấy hai ứng cử viên khác, /var/cache/man
và usr/share/man
, nhưng tôi đã tìm thấy một giải pháp làm việc, vì vậy tôi đã không gây rối với họ.
Một lưu ý khác
Tôi tin rằng /share/man/man1
hoặc /var/cache/man
sẽ có sẵn cho người dùng không root, như bạn đã yêu cầu. Xin vui lòng, sửa chữa cho tôi nếu tôi sai.
Ghi chú hứa ở phía dưới
Lưu ý rằng tôi đã sử dụng -maxdepth 2
tùy chọn này find
, vì tôi đoán rằng man
thư mục sẽ nằm trong hai thư mục gốc của hệ thống tệp và tôi không muốn nhận quá nhiều thư mục không liên quan mà bằng cách nào đó có chuỗi con man
, cũng như /lib/gnome-co
con ngườider
.
Các công cụ bổ sung xung quanh find
là có để khắc phục bất kỳ Permission denied
lỗi nào trong trường hợp bạn không có quyền truy cập su
hoặc sudo
. Dưới đây là một mô tả tuyệt vời về những gì đang xảy ra. (Tìm dòng bắt đầu bằng "gniourf_gniourf".)
manpath
các cảnh báo về việcMANPATH
được đặt, bạn có thể vượt qua-q
tùy chọn.