仅为当前用户安装的应用程序中的Linux:Man命令
Linux中的手动文件存储在仅为当前用户安装的应用程序中的Linux:Man命令,linux,manpage,Linux,Manpage,Linux中的手动文件存储在/usr/share/man中。以前,我的应用程序只能由root用户安装,它将手动文件放在这个目录中。现在,我想启用非root安装;为此,我的所有数据和配置文件都将安装在~/下。但是,man命令将无法再访问复制到主页的手动文件 这个问题通常的解决方法是什么 我考虑在我的应用程序中创建一个运行man-M//的“man”命令(因为这比用户自己运行命令更容易)。这是一个好的选择吗 提前感谢。您需要使用命令 其他解决方法是命令alias [spatel@ap4004 appn
/usr/share/man
中。以前,我的应用程序只能由root用户安装,它将手动文件放在这个目录中。现在,我想启用非root安装;为此,我的所有数据和配置文件都将安装在~/
下。但是,man命令将无法再访问复制到主页的手动文件
这个问题通常的解决方法是什么
我考虑在我的应用程序中创建一个运行man-M//
的“man”
命令(因为这比用户自己运行命令更容易)。这是一个好的选择吗
提前感谢。您需要使用命令
其他解决方法是命令alias
[spatel@ap4004 appname]$ alias man='man -M /home/spatel/appname/man'
[spatel@ap4004 appname]$ alias man
alias man='man -M /home/spatel/appname/man'
man
在默认情况下具有新的行为(至少在Fedora 14和上),它在与环境变量PATH
对应的路径中搜索,即在PATH=/xyz/bin
中搜索/xyz/bin/man
、/xyz/share/man
和其他附近的位置。除非设置了MANPATH
您需要在.bash\u配置文件的末尾取消设置MANPATH
,在/etc
中的一些启动脚本可能会将其设置为禁用
如果不使用-M或MANPATH指定显式路径列表,man将根据配置文件/etc/man.config的内容开发自己的路径列表。配置文件中的MANPATH语句标识要包含在搜索路径中的特定目录
此外,MANPATH_MAP语句根据命令搜索路径(即path环境变量)添加到搜索路径。对于可能位于命令搜索路径中的每个目录,MANPATH_MAP语句指定应添加到手动页面文件搜索路径中的目录。man查看PATH变量并将相应的目录添加到手动页面文件搜索路径中。因此,在正确使用MANPATH_MAP的情况下,当您发出命令man xyz时,您将获得一个程序的手动页面,如果您发出命令xyz,该程序将运行
此外,对于命令搜索路径(我们称之为“命令目录”)中没有MANPATH_MAP语句的每个目录,man会自动查找“附近”的手动页面目录,即作为命令目录本身或命令目录父目录中的子目录
通过在/etc/man.config中包含NOAUTOPATH语句,可以禁用自动“附近”搜索
[spatel@ap4004 appname]$ alias man='man -M /home/spatel/appname/man'
[spatel@ap4004 appname]$ alias man
alias man='man -M /home/spatel/appname/man'