我想我了解如何向PATH添加目录中给出的说明?关于将目录添加到$ PATH。但是我不明白如何将目录添加到$ MANPATH或$ INFOPATH。
另外-在四处寻找帮助时,我注意到有时指示会说export PATH=/usr/share/lib/something:$PATH
,有时也会说export PATH=$PATH:/usr/share/lib/something
。哪有
我想我了解如何向PATH添加目录中给出的说明?关于将目录添加到$ PATH。但是我不明白如何将目录添加到$ MANPATH或$ INFOPATH。
另外-在四处寻找帮助时,我注意到有时指示会说export PATH=/usr/share/lib/something:$PATH
,有时也会说export PATH=$PATH:/usr/share/lib/something
。哪有
Answers:
这两个几乎是相同的:
export PATH=/usr/share/lib/something:$PATH
export PATH=$PATH:/usr/share/lib/something
唯一的区别是,第一个将目录添加到前面,第二个将目录添加到当前目录的后面$PATH
。仅当/usr/share/lib/something
内部的一个目录中包含相同名称的命令时,才有意义$PATH
。
要将目录添加到发布的链接中$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
MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH
?我尝试过man tlmgr
,并说它不存在。
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。
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
按照这里的建议进行编辑,尽管没有成功。