如何将目录添加到MANPATH或INFOPATH?

我想我理解如何将目录添加到PATH中的说明? 关于将目录添加到$ PATH。 但我不明白如何将目录添加到$ MANPATH或$ INFOPATH。

另外 – 在google搜索帮助我注意到有时方向说export PATH=/usr/share/lib/something:$PATH ,有时他们说export PATH=$PATH:/usr/share/lib/something 。 这是什么?

  1. 这两个几乎相同:

     export PATH=/usr/share/lib/something:$PATH export PATH=$PATH:/usr/share/lib/something 

    唯一的区别是第一个将目录添加到前面,第二个将它放在$PATH的当前目录之后。 只有当/usr/share/lib/something中的命令在$PATH一个目录中具有相同的名称时才重要。

  2. 要根据需要从您发布的链接向$MANPATH$INFOPATH添加目录,请通过更改链接内的配置文件来实现。

    它说打开全球版的bash.bashrc

     sudo vi /etc/bash.bashrc 

    并在最后添加:

     PATH=/usr/local/texlive/2010/bin/x86_64-linux:$PATH; export PATH MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH INFOPATH=/usr/local/texlive/2010/texmf/doc/info:$INFOPATH; export INFOPATH 

    这设置$PATH$MANPATH$INFOPATH 。 它还告诉您使用以下命令编辑/etc/manpath.config

     sudo vi /etc/manpath.config 

    并添加

     MANPATH_MAP /usr/local/texlive/2010/bin/x86_64-linux /usr/local/texlive/2010/texmf/doc/man 

    # set up PATH to MANPATH mapping下面# set up PATH to MANPATH mapping


如果你不确定这个,请先做一个备份(从来不是坏事):

 sudo cp /etc/bash.bashrc /etc/bash.backup_$(date +"%Y_%m_%d").bashrc sudo cp /etc/manpath.config /etc/manpath.backup_$(date +"%Y_%m_%d").config 

奇怪的字符串变为当前日期。 如果你陷入困境,只需将备份复制回原始文件:

 $ touch test1 $ cp test1 test1.$(date +"%Y_%m_%d") $ ls test1 test1.2014_11_14 

如果您的手册页位于/usr/local/myproject/man ,那么您需要做的就是将其添加到/etc/manpath.config (的末尾):

 MANDATORY_MANPATH /usr/local/myproject/man 

x:y:z:$PATH$PATH:x:y:z

几乎不同。 $PATH包含: bash(shell /终端)应该检查程序的地方的分隔列表。

例如,如果您按照终端了解这意味着查看$PATH的第一个,第二个,第三个元素的方式键入cat ,则保存它找到的第一个位置以便稍后调用cat

如果我在两个不同的地方有两个不同版本的程序,其中一个是首选, $PATH告诉shell以错误的顺序搜索,那么就有问题了。 否则,没问题。


出口

打开终端并输入

 echo $a a=5 echo a echo $a 

你会看到a=5设置变量值, $a指的是变量名,而不是值。

打开第二个终端并输入echo $a 。 它应该再次为空白。

export和赋值( = )之间的区别在这里解释: https : //stackoverflow.com/questions/1158091/defining-a-variable-with-or-without-export 。