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


19

我想我了解如何向PATH添加目录中给出的说明关于将目录添加到$ PATH。但是我不明白如何将目录添加到$ MANPATH或$ INFOPATH。

另外-在四处寻找帮助时,我注意到有时指示会说export PATH=/usr/share/lib/something:$PATH,有时也会说export PATH=$PATH:/usr/share/lib/something。哪有

Answers:


24
  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


如果您对此不确定,请使用以下方法进行第一个备份(从来都不是一件坏事):

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  

1
我在Ubuntu Precise上安装了texlive 2012,然后echo $MANPATH返回/usr/local/texlive/2012/texmf/doc/man给我。当我将路径添加到配置时,bash报告/usr/local/texlive/2012/texmf/doc/man:/usr/local/texlive/2012/texmf/doc/man和zsh仍然报告/usr/local/texlive/2012/texmf/doc/man。对于zsh,我将路径添加到/etc/zsh/zshrc。我不确定这是否正确。我也尝试/etc/environment按照这里的建议进行编辑,尽管没有成功。
JJD


书写后可以看到什么命令MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH?我尝试过man tlmgr,并说它不存在。
Arturo

2

如果您的手册页在中/usr/local/myproject/man,则只需将其添加到(末尾)/etc/manpath.config

MANDATORY_MANPATH        /usr/local/myproject/man

0

x:y:z:$PATH还是$PATH:x:y:z

几乎不一样。$PATH包含:-bash(bash(外壳/终端))应检查程序的位置的列表。

例如,如果键入cat终端了解终端设备的第一,第二,第三元素的方式$PATH,然后保存找到的第一个位置以供以后调用cat

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


出口

打开终端并输入

echo $a
a=5
echo a
echo $a

您将看到a=5设置变量值并$a引用变量名称,而不是值。

打开第二个终端,然后键入echo $a。它应该再次为空白。

export和分配(=)之间的区别在这里进行了说明:https : //stackoverflow.com/questions/1158091/defining-a-variable-with-or-withoutwith-export

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.