Как я добавляю каталог к MANPATH или InfoPath?

Я думаю, что понимаю инструкции, сданные, Как добавить каталог к ПУТИ? о добавляющих каталогах к $PATH. Но я не понимаю, как добавить каталоги к $MANPATH или $INFOPATH.

Также - в поиске с помощью Google вокруг для справки я заметил, что иногда направления говорят export PATH=/usr/share/lib/something:$PATH и иногда они говорят export PATH=$PATH:/usr/share/lib/something. Который является этим?

19
задан 13 April 2017 в 05:24

3 ответа

  1. Эти 2 являются почти тем же:

    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.


Если Вы не уверены в этом, делают резервное копирование 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  
23
ответ дан 23 November 2019 в 02:01

Если Ваши страницы справочника находятся в /usr/local/myproject/man, все, что необходимо сделать, добавляет это к (конец) /etc/manpath.config:

MANDATORY_MANPATH        /usr/local/myproject/man
2
ответ дан 23 November 2019 в 02:01

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.

0
ответ дан 23 November 2019 в 02:01

Другие вопросы по тегам:

Похожие вопросы: