Я думаю, что понимаю инструкции, сданные, Как добавить каталог к ПУТИ? о добавляющих каталогах к $PATH. Но я не понимаю, как добавить каталоги к $MANPATH или $INFOPATH.
Также - в поиске с помощью Google вокруг для справки я заметил, что иногда направления говорят export PATH=/usr/share/lib/something:$PATH
и иногда они говорят export PATH=$PATH:/usr/share/lib/something
. Который является этим?
Эти 2 являются почти тем же:
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
.
Если Вы не уверены в этом, делают резервное копирование 1-м (никогда плохая вещь) с:
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
содержит a :
- разделенный список мест, где удар (оболочка/терминал) должен проверить на программу.
Например, если Вы вводите 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-without-export.