2015-05-16 17 views
5

我正尝试在Mac OS X 10.9.5上安装bash脚本的手册页。我试图遵循的程序总结如下:man page tutorial。我还总结了我尝试以下步骤:如何在mac os上安装自定义man(手动)页面x

cp custom_command.1 /usr/local/man/man1/custom_command.1 
gzip /usr/local/man/man1/custom_command.1 

当试图man custom_command我得到的输出No manual entry for custom_command。我也尝试了man page tutorial中提到的其他安装方法,但没有成功。

有趣的是,上述步骤适用于emacs控制台,即当我输入man custom_command时,我确实得到了正确的手册。但是,该命令未被自动完成识别,我在阅读手册之前收到以下警告:WARNING: terminal is not fully functional

任何有关如何解决上述问题(即与系统终端和emacs控制台)的建议,将不胜感激。


备注1

对于一个参考,这名男子的脚本,我试图安装从tutorial拍摄并在下文中重申了参考:

.\" Manpage for nuseradd. 
.\" Contact [email protected] to correct errors or typos. 
.TH man 8 "06 May 2010" "1.0" "nuseradd man page" 
.SH NAME 
nuseradd \- create a new LDAP user 
.SH SYNOPSIS 
nuseradd [USERNAME] 
.SH DESCRIPTION 
nuseradd is high level shell program for adding users to LDAP server. On Debian, administrators should usually use nuseradd.debian(8) instead. 
.SH OPTIONS 
The nuseradd does not take any options. However, you can supply username. 
.SH SEE ALSO 
useradd(8), passwd(5), nuseradd.debian(8) 
.SH BUGS 
No known bugs. 
.SH AUTHOR 
Vivek Gite ([email protected]) 

备注2

我在Linux论坛上看到的其中一个建议是在安装新命令man后运行命令mandb。但是,该命令在我的操作系统上不可用。

回答

4

第一。为此,将man文件的路径传递给man命令。它必须包含一个斜线,以被识别为路径,例如:

man /usr/local/man/man1/custom_command.1 

那么你应该确保路径要安装你的男人页面是man命令的搜索列表上。为了找到该名男子页的路径必须是:在环境变量MANPATH

  • 在其配置文件(/private/etc/man.conf在OS X)列出-M选项指定的man命令
    • 根据MANPATH声明或MANPATH_MAP声明(仅适用于您的PATH环境变量中的位置)
    • 位于相对于安装二进制文件的位置,即:如果binary安装在path/bin手册页中搜索在path/manpath/catpath/bin/manpath/bin/cat
    • /private/etc/manpaths.d/目录

    手册页文件的名称必须相同可选节号命令名称添加的文件中列出。它可能会被压缩。

    要看到的人将搜索custom_command手册页运行

    man -d custom_command 
    
  • 2

    OS X用户命令手册页在通常创建:

    /usr/local/share/man/man1 
    

    如果您喜欢在不同的目录编辑创建手册页:

    /private/etc/man.conf 
    

    然后将新路径添加到MANPATH_MAP,为例如:

    MANPATH_MAP  /usr/local/bin   /usr/local/man 
    

    要让man搜索非默认路径用默认的备用(/usr/local/share/man):

    所有你可能要检查,如果你要安装手册页具有正确的格式,并且可以通过 man命令打开的
    MANPATH   /usr/local/man  
    MANPATH   /usr/local/share/man 
    MANPATH_MAP  /usr/local/bin   /usr/local/share/man 
    
    0

    我已经通过BREW安装的软件包,但该男子命令一片空白,因为我已经安装了BREW到不同的目录。 为了避开这个,还是连接的包(链接的内容了几个目录),然后我可以加入我的.bash_profile到MANPATH,像这样......

    MANPATH="/Users/me/Developer/share/man:$MANPATH"