MANPATH veya INFOPATH dizinini nasıl ekleyebilirim?


19

Ben PATH bir dizin nasıl eklenir verilen talimatları anlıyorum düşünüyorum. $ PATH dizinine dizin ekleme hakkında. Ancak $ MANPATH veya $ INFOPATH dizinlerini nasıl ekleyeceğimi anlamıyorum.

Ayrıca - yardım için googling bazen yön söylemek export PATH=/usr/share/lib/something:$PATHbazen de dedikleri fark ettim export PATH=$PATH:/usr/share/lib/something. Hangisi?

Yanıtlar:


24
  1. Bu ikisi neredeyse aynı:

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

    Tek fark, birincisinin dizini öne ekleyecek ve ikincisi dizini geçerli dizinlerin arkasına koyacağıdır $PATH. Yalnızca /usr/share/lib/something, içindeki dizinlerden birinde aynı ada sahip komutlar varsa önemlidir $PATH.

  2. Gönderdiğiniz bağlantıya $MANPATHveya $INFOPATHgerektiğinde dizin eklemek için bunu bağlantının içindeki yapılandırma dosyalarını değiştirerek yapabilirsiniz.

    İle küresel sürümünü açmak için diyor bash.bashrc:

    sudo vi /etc/bash.bashrc
    

    ve sonuna eklemek için:

    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
    

    Bu kümeler $PATH, $MANPATHve $INFOPATH. Ayrıca aşağıdakilerle düzenlemenizi de söyler /etc/manpath.config:

    sudo vi /etc/manpath.config
    

    ve eklemek için

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

    altında # set up PATH to MANPATH mapping.


Bu konuda emin değilseniz 1. ile (asla kötü bir şey) bir yedekleme yapın:

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

Tuhaf dize geçerli tarihe dönüşür. Karıştırırsanız, yedeklemeyi orijinal dosyanın üzerine kopyalamanız yeterlidir:

$ touch test1
$ cp test1 test1.$(date +"%Y_%m_%d")
$ ls
test1  test1.2014_11_14  

1
Ubuntu Precise'a texlive 2012'yi yükledim ve bana echo $MANPATHgeri döndüm /usr/local/texlive/2012/texmf/doc/man. Ben yapılandırma bash raporları /usr/local/texlive/2012/texmf/doc/man:/usr/local/texlive/2012/texmf/doc/manve zsh yine rapor yolları eklediğimde /usr/local/texlive/2012/texmf/doc/man. Zsh için yolları ekliyorum /etc/zsh/zshrc. Bunun doğru olup olmadığından emin değilim. Ayrıca /etc/environment, burada önerildiği gibi , başarılı olmasa da düzenlemeyi denedim .
JJD


Yazdıktan sonra hangi komutu görebilirim MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH? Denedim man tlmgrve var olmadığını söylüyor.
Arturo

2

Man sayfalarınız varsa /usr/local/myproject/man, tek yapmanız gereken bunu (sonuna) eklemektir /etc/manpath.config:

MANDATORY_MANPATH        /usr/local/myproject/man

0

x:y:z:$PATHveya $PATH:x:y:z?

Neredeyse farklı. $PATHBir içeren :deneme (kabuk / terminali) bir program için kontrol edilmelidir yerlerin -separated listesini.

Örneğin yazarsanız catterminal araçları ilk, ikinci, üçüncü öğeleri arasında bakmaktır bu ne anlar yolu $PATHdaha sonra, tasarruf bunun daha sonraki çağrıları için bulduğu ilk konuma cat.

Bir programın iki farklı yerde iki farklı sürümü varsa, bunlardan biri tercih $PATHedilirse ve kabuğa yanlış sırayla arama yapmasını söylerse, bir sorun var demektir. Aksi takdirde sorun değil.


ihracat

Bir terminal açın ve yazın

echo $a
a=5
echo a
echo $a

a=5Değişken değerini ayarladığını görürsünüz $ave değeri değil, değişken adını belirtir.

İkinci bir terminal açın ve yazın echo $a. Yine boş olmalı.

exportVe atama ( =) arasındaki fark burada açıklanmaktadır: /programming/1158091/defining-a-variable-with-or-without-export .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.