$ PATH ne anlama geliyor?


28

Bir şey yüklemeye çalışıyorum ve adımların arasında bu vardı:

"Üzerine yerleştir $PATH"

Ne anlama geliyor? O nedir?

Hem bu siteyi hem de Google’da arama yaptım, ancak herkes bunu kabul etti!



2
@muru Hayır Bu soruyu okudum ve benimkiyle hiçbir ortak yanı yok. Ayrıca bu soru hiç de yardımcı olmadı.
Adam

4
@muru, sorunun nasıl ekleneceği ile ilgili olmadığını düşünüyorum (veya "$ PATH'inize yerleştirin" ile ne kastedildiğini yanlış anlamış olabilirim).
Jacob Vlijm

1
@ JacobVlijm haklı değilsin.
Adam

2
Anlıyorum. Peki. İlgili; askubuntu.com/q/141718/158442
muru

Yanıtlar:


24

Bir terminalde çalıştırın:

echo $PATH

veya

printf "%s\n" "$PATH"

Gördüğünüz gibi bir dizin listesi, benziyor:

/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Bu dizinlerden birine bir yürütülebilir dosya koyarsanız, yürütülebilir dosyayı / komut dosyasının yolunu ayarlamanıza gerek yoktur, ancak komut olarak kendi adına göre çalıştırabilirsiniz.

Yürütülebilir dosyalar sözleşmede dil uzantısına sahip$PATH olmamalıdır (çalışsalar da)

$ PATH değişkeninizi düzenleme

Dosyanıza $PATHaşağıdaki satırı ekleyerek (kalıcı olarak) bir dizin ekleyebilirsiniz ~/.profile(varsayılan olarak görünmez, görünür olması için dosya yöneticisinde Ctrl+ tuşlarına basın H):

export PATH=$PATH:/path/to/dir

Çevre değişkenleri hakkında daha fazla yararlı bilgi

(gibi $PATH) burada bulunabilir (@Letizia önerileri için teşekkürler)


biz bunu nasıl değiştireceğinizi önerebiliriz.
Lety

ve bu yeni başlayanlar için faydalı bir bağlantıdır
Lety

@Letizia İlkini tercih ederim. Cevabınızı kaldırdınız mı? biz de aynı anda olduk. güzel bir şekilde yayılmış bir kombinasyon yapabilirdik :)
Jacob Vlijm

Evet, zaten yaptım, cevabım kaldırıldı ve bunun size daha iyi katkıda bulunabileceğini düşündüm. Yorumum hakkında ne düşünüyorsun?
Lety

@Letizia comment = mükemmel, ben düzenleyeceğim. Teşekkürler!
Jacob Vlijm

6

$PATHBir olan dosya konumu, ilgili ortam değişkeni .

Çalıştırılacak bir komut yazıldığında, sistem bunun PATHiçin belirtilen sırada belirtilen dizinleri arar .

echo $PATHTerminalde yazarak belirtilen dizinleri görüntüleyebilirsiniz .

Düzenli olarak yürütmek istediğiniz foobar01.shmevcut bir yürütülebilir dosya olduğunu varsayalım /home/user/foo1/foo2/foobar01.sh. tüm "yolu" yazmak zaman alıcı olurdu. Böylece dizini $PATHdeğişkene ekleriz foobar.shve yolu belirtmeden doğrudan yürütebiliriz .

$PATHAşağıdaki komutu yazarak ekleyebilirsiniz

export PATH=$PATH:/home/user/foo1/foo2


2

Bir Windows arkaplanından geldiğinizi farz ediyorum (doğru değilse özür dilerim). Layman'ın terimlerinde, bir yol (veya arama yolu), komut satırına yazdığınız herhangi bir şey için aranacak dizinlerin listesidir. Ls gibi bir yerleşik komut yazarsanız, belirli bir dizin listesi arar. Echo $ PATH yazarak yolunuza bakabilirsiniz. İşte Windows ve * nix arasındaki bir fark: Varsayılan olarak, Windows her zaman geçerli dizindeki çalıştırılabilir dosyayı arar. Örneğin, c: \ myscripts içindeki uptime.bat adlı bir dosyanız varsa ve cd c: \ myscripts yazıp uptime yazın. Ancak, * nix'te yola danışılacak ve çalıştırılabilir (eğer varsa) bulunacaktır.

Komut dosyalarınızı / home / teresa / komut dosyaları adlı bir dizinde tutarsanız, bu komut dosyalarını çalıştırmak için bu dizinin tam yolunu belirtmeniz gerekir. Örnek: / hone / teresa / checkHost. Bir varyasyon cd / home / teresa olacaktır ve sonra ./checkHost yazınız (. / 'A dikkat ediniz, ki bu dosyadan açıkça geçerli dizinden çalıştırılmasını istediğiniz anlamına gelir.

Bunu önlemek için, sadece yazabilirsiniz

dışa aktarma PATH = $ PATH: / ana sayfa / teresa / komut dosyaları

Bu, halihazırda var olan yola ek olarak / hone / teresa / betiklerini de aradığı anlamına gelir. Ancak, bununla ilgili sorun, oturumu kapattığınızda, bu ayarın giderilmiş olmasıdır. Bu nedenle, ~ / .bashrc dosyasını saklamanız, orada PATH satırını bulmanız ve buna göre eklemeniz gerekir. Bence bash kullanmalısın. Diğer mermilerde sözdizimi ve dosya farklıdır.

Yeni bir kullanıcı olarak, sahip olmak çok cazip. arama yolunda, yani geçerli dizinde de arama yapmak anlamına gelir. Ancak, başka bir yerde tartışılan nedenlerden dolayı bu iyi bir uygulama olarak kabul edilmez.

HTH

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.