Come aggiungo una directory a MANPATH o INFOPATH?

18

Penso di aver compreso le istruzioni fornite in Come aggiungere una directory al PERCORSO? sull'aggiunta di directory a $ PATH. Ma non capisco come aggiungere directory a $ MANPATH o $ INFOPATH.

Inoltre, nel cercare aiuto ho notato che a volte le direzioni dicono export PATH=/usr/share/lib/something:$PATH e talvolta dicono export PATH=$PATH:/usr/share/lib/something . Quale è?

    
posta isomorphismes 10.09.2011 - 03:36

3 risposte

21
  1. Questi 2 sono quasi gli stessi:

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

    L'unica differenza è che il primo inserisce la directory in primo piano e la seconda la posiziona dietro le directory correnti in $PATH . Importa solo se ci sono comandi all'interno di /usr/share/lib/something che hanno lo stesso nome all'interno di una delle directory in $PATH .

  2. Per aggiungere directory a $MANPATH o $INFOPATH come richiesto dal link che hai postato lo fai cambiando i file di configurazione all'interno del link.

    Si dice di aprire la versione globale di bash.bashrc con:

    sudo vi /etc/bash.bashrc
    

    e da aggiungere alla fine:

    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
    

    Imposta $PATH , $MANPATH e $INFOPATH . Inoltre ti dice di modificare /etc/manpath.config con:

    sudo vi /etc/manpath.config
    

    e per aggiungere

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

    sotto # set up PATH to MANPATH mapping .

Se non sei sicuro di ciò, effettua un backup 1 (mai una brutta cosa) con:

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

La stringa strana cambia nella data corrente. Se si incasina, copia il backup sul file originale:

$ touch test1
$ cp test1 test1.$(date +"%Y_%m_%d")
$ ls
test1  test1.2014_11_14  
    
risposta data Rinzwind 10.09.2011 - 03:58
2

Se le pagine man sono in /usr/local/myproject/man , tutto ciò che devi fare è aggiungerlo a (la fine di) /etc/manpath.config :

MANDATORY_MANPATH        /usr/local/myproject/man
    
risposta data Michel 06.06.2014 - 19:46
0
  

x:y:z:$PATH o $PATH:x:y:z ?

Poco diverso. $PATH contiene un : -separato elenco di luoghi in cui bash (la shell / terminale) dovrebbe controllare un programma.

Ad esempio, se digiti cat il modo in cui il terminale capisce cosa significa guardare attraverso il primo, il secondo, il terzo elemento di $PATH , quindi salva il primo percorso che trova per le successive chiamate di cat .

Se ho due versioni diverse di un programma in due posti diversi, con uno preferito, e $PATH dice alla shell di cercare nell'ordine sbagliato, quindi c'è un problema. Altrimenti, nessun problema.

  

export

Apri un terminale e digita

echo $a
a=5
echo a
echo $a

Vedrai che a=5 imposta il valore della variabile e $a fa riferimento al nome della variabile, non al valore.

Apri un secondo terminale e digita echo $a . Dovrebbe essere di nuovo vuoto.

La differenza tra export e assegnazione ( = ) è spiegata qui: link .

    
risposta data isomorphismes 26.02.2015 - 00:22

Leggi altre domande sui tag