PATH ve diğer ortam değişkenleri nedir ve bunları nasıl ayarlayabilir veya kullanabilirim?


341

Hakkında sorular

  • ortam değişkenlerini ayarlama
  • PATH

Burada çok yaygındır ve çoğu durumda cevaplar birbirine çok benzer. Gelecekte bunun için iyi bir Q / A olması güzel olurdu.

Öyleyse soru şudur: Çalıştırılabilir dosya gibi çevre değişkenleri nelerdir PATHve bunları büyük işletim sistemlerinde nasıl değiştirip kullanabilirim?

İyi bir cevap, ortam değişkenlerinin ve özellikle PATHişletim sistemi için ne anlama geldiğinin basit bir açıklamasını ve buna göre nasıl ayarlanacağı ve okunacağına ilişkin basit yönergeleri içerecektir .


2
Ne zaman ihtiyacım olursa, elle yapmak zorunda kalmadan yoruldum, Pathed.exe adlı ücretsiz bir uygulamayı kullanarak, AddToPath ve RemoveFromPath için bağlam menüsü girişleri eklemek için bazı kayıt defteri girdilerini yazdım. Kılavuzun tamamındaki link aşağıdadır : addictivetips.com/windows-tips/… Artık PATH değişkenine klasörleri kolayca ekleyebilir veya herhangi bir dosyayı düzenlemek veya değişkeni biçimlendirme konusunda endişelenmenize gerek kalmadan bunları PATH değişkenine kolayca ekleyebilirim . Umarım yardımcı olur. =)
Haroon Q. Raja,

1
Windows'ta System yani özelliklerini açmak için bir kısayol var. Kontrol Paneli -> Sistem Klavyede WIN tuşu + Duraklat / Ara (WIN + Ara). Bu, Win8'de yeni çevresel değişkenler ayarlama sürecini son derece yararlı ve hızlandırıyor çünkü modern kullanıcı arayüzünde birkaç pencereyi tıklamanız gerekiyor (Evet. Eğer modernse o zaman avucumda bir kaktüs yetiştireceğim), bu sadece can sıkıcı bir durum. Elbette powershell betiği oluşturabilir veya setx komutunu kullanabilir ve bu konuda daha fazla endişelenmeyin: D
termil0r

Windows 8'de, değişen sistem ve kullanıcı ortamı değişkenlerine en hızlı gezinme, aramayı kullanıyor. <kbd> Win </kbd> + <kbd> W </kbd>, tüm ayarların aranmasını sağlar. Ara envve gerekli seçenekler listelenir.
FRIdSUN

Ben CMDyazarak setveya PowerShellyazarak veya yazarak daha hızlı ve net olduğunu düşünüyorum Get-Childitem env:.
paradroid

Yol değişkenini çok fazla düzenliyorsanız (yeni bir sistem kurarken olduğu gibi), masaüstündeki Sistem Özellikleri iletişim kutusundaki bir kısayolun olmasına yardımcı olabilir. Bunu yapmak için, masaüstüne sağ tıklayın, Yeni Kısayol'u seçin ve systempropertiesadvanced.exe'ye girin. Sonra Sistem Özellikleri iletişim kutusuna gitmek için bağlantıya tıklayabilir, ardından yol ayarlarıyla iletişim kutusuna gitmek için Çevre Değişkenleri'ne tıklayabilirsiniz.
Brian Burns,

Yanıtlar:


334

Çevre Değişkenleri Nedir?

Ortam değişkenleri, İşletim Sistemi veya kullanıcı oturumları gibi mevcut ortamla ilgili değerleri tutar.

Yol, yörünge

En iyi bilinenlerden birine PATHWindows, Linux ve Mac OS X'te denir . Dosyaya giden yolu tümüyle bilmeden ve komut satırında yazmadan çalıştırılabilir programların * makinede bulunabileceği dizinleri belirtir. . (Veya Windows'ta, Başlat Menüsü veya + ' da Çalıştır iletişim kutusu ).WinR

Linux ve Mac OS X'te, genellikle geçerli kullanıcıyla ilgili tüm binve sbindizinleri tutar . Windows'da, bu en azından içerdiği C:\Windowsve C:\Windows\system32dizinleri - yapabilecekleriniz yüzden çalıştırmak calc.exe veya notepad.exekomut satırından veya Çalıştır iletişim kutusunu değil firefox.exe. (Firefox bulunur C:\Program Files\Mozilla Firefox. Firefox'un nasıl ekleneceği hakkında bilgi için buraya gidin .)

Örneğin, yazarak calc( .exe edebilirsiniz Windows komut satırında atlanabilir) Windows hesap makinesi çalışmaya başlar.

* .exeDüzenlemeden başka dosya uzantıları için destek ekleyebilirsiniz %PATHEXT%.

Diğer

Diğer değişkenler programlara ne tür bir terminalin kullanıldığını söyleyebilir ( TERMLinux / Mac OS X'te) veya, Windows'ta Windows klasörünün bulunduğu yer (örneğin, %WINDIR%is C:\Windows).

Yeni çevre değişkenleri oluşturma

Windows, Linux ve Unix'te, daha sonra başlattıklarında değerleri tüm programlara sunulan yeni ortam değişkenleri oluşturmak mümkündür.

Bunu, birden fazla makineye yüklenmiş veya dağıtılmış komut dosyaları veya programlar yazarken ve bu makinelere özgü değerlere başvurmanız gerektiğinde kullanabilirsiniz. Programa özel konfigürasyon ayarları kullanılarak benzer bir efekt elde edilebilirken, birden fazla programın aynı değere erişmesi gerekiyorsa, bunu bir ortam değişkeni kullanarak yapmak daha kolaydır.

 

pencereler

GUI

  1. Control Panel » System » Advanced » Environment Variables.

  2. Tip control sysdm.cpl,,3Çalıştır iletişim kutusuna ( Win+ R) ve tıklama Environment Variables.
    Kullanıcı değişkenlerini düzenlemek için ayrıca yazabilirsiniz

    %windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables
    

    Çalıştır iletişim kutusunda.

  3. (Bilgisayarım) Bilgisayarına sağ tıklayın ve Özellikler'e tıklayın veya sadece Win+ tuşuna basın Break.

    • XP'de tıklayın Advanced » Environment Variables.
    • Vista'da + üzerine tıklayın Advanced system settings » Environment Variables.
  4. Başlat Menüsü / Ekranı arama kutusuna "ortam değişkenleri" yazmak gibi, aynı yere ulaşmanın birçok yolu vardır.

Windows'taki ortam değişkenleri, kullanıcı ve makine / sisteme özel değerlere ayrılmıştır. Değerlerini burada görüntüleyebilir ve düzenleyebilirsiniz. Piyasaya sunulduktan sonraki mevcut değerleri tüm programlara sunulmaktadır.

Ayrıca, sistem ayarlarının derinliklerine girmeden Windows'ta ortam değişkenlerinin ayarlanmasına ve değiştirilmesine yardımcı olan Hızlı Ortam Düzenleyicisi de bulunmaktadır. Windows için yol ortamının çok uygun bir şekilde düzenlenebildiği bir başka açık kaynaklı program Yol Düzenleyicisidir .

Komut satırı

Biçim

Windows'taki Ortam Değişkenleri, adı çevreleyen yüzde işaretleriyle (%) belirtilir:

%name%

Eko

Bir ortam değişkeninin değerini girmek için cmd.exeyazın echo %name%.

C:\>echo %USERPROFILE%
C:\Users\Daniel

Ayarlamak

To oluşturmak / set değişken, kullanımı set varname=value:

C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures

C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2

To ekleme / ekleme , bir değişken kullanın set varname=value;%varname%:

C:\>set Penguins=C:\Linux

C:\>set Penguins=C:\Windows;%Penguins%

C:\>echo %Penguins%
C:\Windows;C:\Linux

Bu şekilde ayarlanan ortam değişkenleri, ayarlandıkları Komut İstemi işleminin süresi boyunca (kalanlar için) ve değişkenler ayarlandıktan sonra başlatılan işlemler için kullanılabilir.

setx

To oluşturmak / set bir değişken kalıcı , kullanımı setx varname "value":

C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"

[Restart CMD]

C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures

Aksine set, eşittir işareti yoktur ve boşluk içeriyorsa, değer tırnak içine alınmalıdır. Değişkenlerin boşluk içeren bir dizgiye genişleyebileceğini unutmayın (örneğin, %PATH%olur C:\Program Files), bu nedenle herhangi bir değişkeni içeren değerlerin etrafına tırnak koymak en iyisidir.

setxWindows’tan Vista’dan önceki sürümlere manuel olarak eklemelisiniz .
Windows XP Service Pack 2 Destek Araçları

Windows Ortam Değişkenleri Listesi

İşte Windows'da yerleşik olan varsayılan ortam değişkenlerinin bir listesi . Bazı örnekler şunlardır: %WINDIR%, %SystemRoot%, %USERPROFILE%, ve %APPDATA%. Windows'daki çoğu isim gibi bunlar da büyük / küçük harf duyarlıdır.

 

Unix türevleri (FreeBSD, GNU / Linux, OS X)

Linux'taki Ortam Değişkenleri $ HOME veya $ HOSTNAME gibi bir dolar işareti ($) ile eklenmiştir. Birçok iyi bilinen ve standart değişken, bunu belirtmek için büyük harflerle yazılmıştır. Değişken adlarının büyük / küçük harfe duyarlı olduğunu unutmayın; bu, $ User ve $ USER'in kabuğun bakış açısından tamamen alakasız olduğu anlamına gelir.

Unix türevleri, çoğunlukla /etcklasörde bulunan kabuk komut dosyalarındaki sistem geniş değişkenlerini tanımlar , ancak ana klasörde bulunan komut dosyalarındaki bu değişkenlere kullanıcıya özel değerler verilebilir (örn . /etc/profile, $HOME/.bash_profile). Giriş .profileklasöründeki dosya, kullanıcı değişkenlerini tanımlamak için kullanılan ortak bir yerdir.

Değişkenleri ayarlama

Bu dosyalar normal kabuk komut dosyalarıdır ve sadece ortam değişkeni bildirimlerinden daha fazlasını içerebilir. Bir ortam değişkenini ayarlamak için kullanın export. Halihazırda tanımlanmış olan ortam değişkenlerinizi bir terminalde göstermek için, çalıştırın env.

exportKomut değişkeni tanımlamak için kullanılan standart bir yöntemdir. Sözdizimi çok sezgisel. Sonuç bu iki satır için aynıdır, ancak POSIX Bourne kabuğuna taşınabilirlik gerekmesi durumunda birinci alternatif tercih edilir.

var=value; export var
export var=value

C kabuğu ve torunları tamamen farklı bir sözdizimi kullanır; İşte, komut setenv.

Bu konuyla ilgili daha ayrıntılı bir tartışma için Linux belgelendirme projesi Path HOWTO'ya bakın.

Muhtemelen yaygın inanışın aksine, OS X Linux'tan daha "Unix" dir. Yukarıda belirtilen dosyalara ek olarak, $ PATH bu dosyalarda değiştirilebilir:

  • /etc/paths/binve gibi yola eklenmiş tüm varsayılan dizinleri içerir /usr/sbin.
  • Herhangi bir dosya /etc/paths.d- yaygın olarak sistem genelinde yada özel konfigürasyon dosyalarını dokunmadan kasnağın edinilebilir sağlayan yürütülebilir dosya yapmak için montajcılar tarafından kullanılan. Bu dosyalar sadece satır başına bir yol içerir. örneğin, / Programlar / Mozilla / Takvim / bin.

 

Dış bağlantılar:

XP'deki Ortam Değişkenleri
Windows XP Service Pack 2 Destek Araçları (Kapsar setx)
Windows Vista ve Windows 7'deki Ortam Değişkenleri
Çalıştır İletişim Kutusuna yürütülebilir dosyalar ekleme
Mac OSX İpuçları - Ortam Değişkenlerini Ayarlama
TLDP: Yol


10
Windows Vista'da SETX, kalıcı değişiklikler yapmak için kullanabilirsiniz . Biraz farklı bir sözdizimi var. önceki sürümlerinden SETXeklenmelidir . Windows Server 2003 Resource KitNT
paradroid

1
@ Paradroid Nice, bunu bilmiyordu (bir Windows kullanıcısı değil). Bu konu topluluk wikidir, devam edebilir ve sadece bu bilgileri düzenleyebilirsiniz.
Daniel Beck

2
@JdeBP Bölüm başlığı, bu değerlerin , Windows'ta kabuk adı verilen kullanıcı arabiriminde , komut satırı arabiriminin izleyen bölümünün aksine nasıl ayarlanacağını belirtmek içindir . Bu yorumu 10 saat önce bile görmeden önce düzenledim. Hiç kimse bunun sadece Explorer'a uygulanacağından bahsetmedi.
Daniel Beck

1
@JdeBP Bağlandığınız cevap, kayıt defterinde değerleri ayarlama konusunda konuştuğunuz için bu durumda gerçekten geçerli değildir. Diyalog yoluyla ayarlamak WM_SETTINGCHANGE, hayal ettiğimi yayınlayacak ve dolayısıyla ilgili taraflara yeni değerler hakkında bilgi verecektir . Bu yüzden burada nasıl uygulandığını sordum. Kalın bir şey yapmak anlamını değiştirmez ve aynı cümleyi tekrarlamak gibi, sadece daha yüksek sesle anlaşılmasını kolaylaştırmaz. Ayrıca, bu yayını birkaç saat önce, işlemlerin aldıkları değerlerin başlatıldıklarında belirlendiğini özellikle belirtmek üzere düzenledim.
Daniel Beck

3
@JdeBP Sorunun doğada oldukça temel olduğunu fark edebilirsiniz. Çevre değişkenlerinde yapılan değişikliklerin nasıl dağıldığının inceliklerini (dikkatlice,? WM_SETTINGCHANGEWindows API? .
Daniel Beck

64

Bu yazı Daniel'inkinden daha teknik bir bakış açısına sahip, ancak kavramları kadar açıklamıyor.


Wikipedia makalesi ayrıca mükemmel bir göndermede olduğunu.

Linux ve çoğu BSD

Çoğu komut satırı kabuğunda, geçici ortam değişkenleri export(sh, bash, zsh) veya setenv(csh, tcsh) komutları kullanılarak ayarlanır .

  • Bash veya zsh ile hazırlanmak $HOME/biniçin örnekler $PATH:

    export PATH="$HOME/bin:$PATH"
    

    (Bu özel durumda, zaten çevrenin bir parçası exportolduğundan PATH, gereksizdir .)

  • csh, tcsh:

    setenv PATH "$HOME/bin:$PATH"
    

Kalıcı çevre değişkenleri birkaç ayrı aşamada ayarlanabilir:

  • Oturum aç:

    • Giriş oturumu kurulumu: pam_envGenellikle okunan Linux/etc/environment

    • Terminal girişleri: Kabuğun "profil" dosyaları.

      • bashkullanır /etc/profileve ilki: ~/.bash_profile, ~/.bash_login, ~/.profile. Manuel sayfa bash(1)bölümü Çağırma .

        Genellikle, kullanıcının profil dosyası da açık bir çağrı içerir ~/.bashrc.

      • zsh: Manuel sayfa zsh(1)bölümü Başlangıç ​​/ kapatma dosyaları .

      • csh ve diğer kabuklar: Uygun kılavuz sayfalarına bakın.

    • Grafiksel girişler: Emin değil; Giriş yöneticisine bağlı olarak değişebilir. GDM ~/.profilesistemimde okunuyor gibi görünüyor .

  • Bir terminal penceresinin açılması:

    • bashkullanır /etc/bash.bashrcve ~/.bashrc.

Windows NT serisi

  • Komut İstemi'nde ( cmd.exe), set name=valueo pencerenin ortam değişkenlerini değiştirmek için kullanın .

    Eklemek c:\biniçin şunu %PATH%kullanın:

    set path=%path%;c:\bin
    

    Bu sadece bu cmd.exesüreci ve ondan başlatılan yeni işlemleri etkiler .

  • Kalıcı değişiklikler yapmak için, Denetim Masası → Sistem → Gelişmiş → Çevre Değişkenleri'ni kullanın . ( dokümanlar )

    Not: Kullanıcı ayarları normalde sistem ayarlarını geçersiz kılarken PATHdeğişken özel olarak kullanılır: hem sistem hem de kullanıcı ayarları nihai değere birleştirilir.

    Değişiklikler Kayıt Defteri'nde saklanır (aşağıya bakınız) ve Explorer tarafından oluşturulan tüm yeni işlemlere (grafik kabuğu), örneğin Başlat Menüsü'nden anında uygulanır .

  • Sistem çapında ortam değişkenleri Kayıt Defteri'nde tutulur HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environmentve sistem önyüklemesi sırasında yüklenir.

    Kullanıcı HKCU\Environmentoturum açma sırasında kullanıcı ortamı tutulur ve yüklenir.

  • Varsayılan olarak, sistem ayrıca dosyadaki setkomutları arar AUTOEXEC.NT.

MS-DOS, 16-bit Windows, Windows 9x serisi

  • MS-DOS İsteminde ( command.com), set name=valueWinNT'deki gibi kullanın .

    Benzer şekilde, setetkileşimli çalışmak, yalnızca bir command.comörneği, bu işlemden başlatılan yeni işlemlerle birlikte etkiler .

  • Kalıcı değişiklikler yapmak için içine uygun setsatırları ekleyin veya düzenleyin C:\AUTOEXEC.BAT, ardından yeniden başlatın.

    • Yeniden başlatmayı önlemek için geçici çözüm, Windows 9x için: bir MS-DOS İstemi penceresi açın, uygun değişkenleri ayarlayın, mevcut Explorer işlemini kapatın ( Başlat → Kapat → Ctrl + Üst Karakter tuşunu basılı tutarken İptal'i tıklayın ), explorer.exeMS-DOS İstemi penceresinden çalıştırın .

VMS

(Direnemedi.)

DCL'de "yol" kavramı yoktur, ancak çeşitli sembol ve komut tanımları girilebilir SYS$LOGIN:LOGIN.COM.


2
VMS bölümü yanlıştır. DCL DCL$PATH" otomatik yabancı komutlar " a sahiptir.
JdeBP

9

İçin bashkabuk PATHküresel (non-terminal) ortam değişkenleri, benim Ubuntu VM tesisatta kullanılan uylaşımını - diğer kabuklar değişecektir:

Uyarı: Tüm kabuk başlangıç dizisi, .bashrc, .profilevb dosyaları vb ben görünürlük elde etmek için tekrar giriş var ne zaman hangi sırayla ?, içinde yeni tanımlanan değişkenler, takma ad kaynaklı ?, bir oturum arasındaki fark ne , etkileşimli ve etkileşimli olmayan kabuk - kullanıyorum cron? ve neden . ~/.bashrcyaptığımda aptal PATHdeğişkenim uzuyor ve uzuyor? PATHdeğişkenimi düşündüğümde aklıma gelen önemli sorular .

Aslında, Ubuntu ve cygwin iskelet dosyalarından fikirler alarak tüm bash başlangıç ​​dosya setimi tamamen yeniden yazdım ve işte sitelerimden bazıları:

  1. Dışındaki PATHve diğer genel çevre değişkenleri (yani LD_LIBRARY_PATH) değişkenlerini dışa aktarın .profile;
  2. Varsa ~/.profilekaynak olarak mantığı kullanın $HOME/.bashrc;
  3. ~/.bashrcEtkileşimli çalıştırma için bir test ile Çit yürütme, aksi takdirde çıkın;
  4. Tüm takma adları, bilgi shoptistemi ayarları, geçmiş kontrolü, terminal ayarları, işlev tanımı vb. (Etkileşimli ilgili ayarlar), ~/.bashrcyalnızca etkileşimli modda çalışacak şekilde korunur;
  5. Onların varlığı olmadığını kontrol yolu üzerinden belirlediğinden, diğer bash başlangıç dosyalarını kurtulun .profileve .bashrcbeklendiği gibi çalışır. Diğer bir deyişle, yapılması gereken özel şartlar olmadığı sürece, ~/.bash_profile& ~/.bash_login;
  6. Ben bash komut istemindeyken ve bazı varsayılan ayarları güncellemem gerekiyor, dosyamı düzenlerim ~/.bashrc, sonra . ~/.bashrcmevcut kabuğumdaki değişiklikleri almak için basitçe a ile kaynaklanır .
  7. Gibi bir ortam değişkeninde bir değişiklik PATHyaptığımda ~/.profile, benim ;
  8. Çağrılarımı fink, port ve özel kurulumlarda demlemeye koydum .profile.

Bu, bu konuyla ilgili 2 sentim.


7

S: Çevre Değişkenleri NEDİR?

C: Ortam Değişkenleri, herhangi bir programlama dilindeki değişkenlere benzer. Windows veya Unix sistemlerinde, programların ve görevlerin gerekli işletim sistemi bilgisini veya 'Ortam' bilgisini almasını sağlamak için çeşitli değerler depolarlar. Örneğin:

USERPROFILE: OS dosyalarındaki kullanıcılar dizini.

POSTA: Bir kullanıcının postasını işletim sistemi dosyalarında bulabilirsiniz.

S: PATH değişkeni özellikle NEDİR?

Y: PATH değişkeni, komutların yürütüldüğü sırada hem RUN komutları hem de programlardan yapılan dahili çağrılar için aranacak dizin yollarını ayarlar. Bu, bir programın diğer çalıştırılabilir işlemleri çağırmak için yükleme konumunu bilmesi gerekmesini önler.

Windows Ortam Sistemi PATH değişkenine bakar ve verilen çalıştırılabilir için her yeri sınar. Böylece PATH değişkenine bir konum eklemek, bir yürütülebilir dosyanın doğrudan çağrılmasını sağlar.

Bu Wikipedia makalesine göre :

Bir komut kabuğuna bir komut girildiğinde veya bir programı çalıştırmak için bir program tarafından bir sistem çağrısı yapıldığında, sistem önce geçerli çalışma dizinini arar ve sonra her dizini soldan sağa inceleyerek yolu arar


S: PATH değişkenine bir konum eklemek için NASIL?

Y: Çalıştırılabilir konumunuzu eklemek için Ortam Değişkenleri PATH değişkeninin değişken dizesini düzenlemeniz gerekir.

Bunu yapmanın bir yolu burada açıklanmıştır :

  1. Başlat Menüsünü açın ve Bilgisayar'a sağ tıklayın. Özellikler'i seçin.
  2. Gelişmiş sistem ayarları'nı seçin.
  3. Gelişmiş sekmesinde, Ortam Değişkenleri'ni seçin.
  4. EDIT veya NEW seçeneğini seçin. (PATH için büyük olasılıkla EDIT yapmak istiyorsunuz).
  5. Konum yolunuzu ekleyin. Örneğin:C:\wamp\bin\php\php5.5.12;

Umarım bu karışıklığın bir kısmını netleştirir.

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.