推荐的用户可写 manpath 是什么?

推荐的用户可写 manpath 是什么?

我正在写一个交互式 shell 实用程序(这是一个 bash 脚本),我想man为其提供一个页面。这是一个我希望用户下载并放入他们的脚本PATH,而不是需要超级用户权限的脚本。知道我应该把手册页放在哪里吗?

目前,我只是将其放在脚本旁边,从脚本中我可以使用类似dirname $0从实用程序内部定位和显示的内容。不过,最好也将其提供给man.目前我推荐man -l /path/to/script/help.1,但这很尴尬且不直观。

笔记:我找到了这个上一个问题,但我认为接受的答案实际上并没有正确回答问题。

答案1

据我所知,对于用户可写的手册页目录没有标准建议。文件系统层次结构标准 3.0指的是XDG 基目录规范xdg-user-dirs 规范关于用户主目录中的内容,但这些都没有关于手册页目录的具体内容。

通常,这是因为将您自己的手册页目录树添加到MANPATH环境变量过去是微不足道的。然而,现代的实现man通常将变量留空,并在例如或类似的配置文件MANPATH中指定手册页目录层次结构。/etc/manpath.config

为了向后兼容,如果MANPATH为这些现代实现设置变量man,它往往会覆盖完整的手册页搜索路径,而不是提供一种方法添加它可能很不方便:作为用户,您必须阅读并理解适当的配置文件,并首先创建一个 MANPATH 值,该值完全涵盖您希望保留的所有系统手册页,然后添加您自己的自定义手册页目录到该有序列表中的合适位置。但是,您通常只需要执行一次,除非系统软件和/或目录结构有重大更新,所以不应该难做。

总体而言,经典约定似乎是,如果可执行文件的目录(适合添加到PATH)位于<some path>/bin/<some path>/sbin/,则相应手册页层次结构的根将<some path>/man/分别位于。然而,飞速3.0/usr/share/man/通过指定为系统的主要手册页层次结构(对应于/[s]bin/可执行目录) ,已经偏离了这一点/usr/[s]bin/

答案2

如果您在命令行上,请检查联机帮助页man

man man

手册页通常存储在诺夫在 /usr/share/man 等目录下格式化。

相关内容