¿Cómo agrego un directorio a MANPATH o INFOPATH?

18

Creo que entiendo las instrucciones que se dan en Cómo agregar un directorio a la RUTA? sobre cómo agregar directorios a $ PATH. Pero no entiendo cómo agregar directorios a $ MANPATH o $ INFOPATH.

Además, al buscar ayuda en Google, he notado que algunas veces las direcciones dicen export PATH=/usr/share/lib/something:$PATH y algunas veces dicen export PATH=$PATH:/usr/share/lib/something . ¿Cuál es?

    
pregunta isomorphismes 10.09.2011 - 01:36

3 respuestas

21
  1. Estos 2 son casi lo mismo:

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

    La única diferencia es que el primero coloca el directorio para agregar al frente y el segundo lo ubica detrás de los directorios actuales en $PATH . Solo importa si hay comandos dentro de /usr/share/lib/something que tienen el mismo nombre dentro de uno de los directorios en $PATH .

  2. Para agregar directorios a $MANPATH o $INFOPATH según sea necesario desde el enlace que ha publicado, hágalo cambiando los archivos de configuración dentro del enlace.

    Dice abrir la versión global de bash.bashrc con:

    sudo vi /etc/bash.bashrc
    

    y para agregar al final:

    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
    

    Esto establece $PATH , $MANPATH y $INFOPATH . Y también te dice que edites /etc/manpath.config con:

    sudo vi /etc/manpath.config
    

    y para agregar

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

    debajo de # set up PATH to MANPATH mapping .

Si no está seguro de esto, haga una copia de seguridad primero (nunca es malo) 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 cadena extraña cambia a la fecha actual. Si se equivoca solo copie la copia de seguridad sobre el archivo original:

$ touch test1
$ cp test1 test1.$(date +"%Y_%m_%d")
$ ls
test1  test1.2014_11_14  
    
respondido por el Rinzwind 10.09.2011 - 01:58
2

Si sus páginas man están en /usr/local/myproject/man , todo lo que necesita hacer es agregar eso a (el final de) /etc/manpath.config :

MANDATORY_MANPATH        /usr/local/myproject/man
    
respondido por el Michel 06.06.2014 - 17:46
0
  

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

Apenas diferente. $PATH contiene un : -separated lista de lugares donde bash (el shell / terminal) debe buscar un programa.

Por ejemplo, si escribe cat de la forma en que el terminal entiende lo que significa mirar el primer, segundo y tercer elemento de $PATH , entonces guardar la primera ubicación que encuentre para las invocaciones posteriores de cat .

Si tengo dos versiones diferentes de un programa en dos lugares diferentes, con uno de ellos preferido, y $PATH le dice al shell que busque en el orden incorrecto, entonces hay un problema. De lo contrario, no hay problema.

  

exportar

Abre una terminal y escribe

echo $a
a=5
echo a
echo $a

Verá que a=5 establece el valor de la variable y $a hace referencia al nombre de la variable, no al valor.

Abra un segundo terminal y escriba echo $a . Debería volver a estar en blanco.

La diferencia entre export y asignación ( = ) se explica aquí: enlace .

    
respondido por el isomorphismes 25.02.2015 - 23:22

Lea otras preguntas en las etiquetas