Pertanyaan Apa itu PATH dan variabel lingkungan lainnya, dan bagaimana saya bisa mengatur atau menggunakannya?


Pertanyaan tentang

  • pengaturan variabel lingkungan
  • itu PATH

sangat umum di sini, dan dalam banyak kasus, jawabannya sangat mirip satu sama lain. Di masa depan akan menyenangkan untuk memiliki Q / A yang bagus untuk ini.

Jadi pertanyaannya adalah: Apa variabel lingkungan, seperti yang dapat dieksekusi PATH, dan bagaimana cara mengubah dan menggunakannya pada sistem operasi utama?

Jawaban yang baik akan mencakup penjelasan sederhana tentang apa variabel lingkungan dan khususnya PATH berarti untuk OS, serta panduan sederhana tentang cara mengatur dan membacanya sesuai.


316
2018-05-16 18:25


asal


Lelah harus melakukannya secara manual setiap kali saya perlu, saya menulis beberapa entri registri untuk menambahkan entri menu konteks untuk AddToPath dan RemoveFromPath ke folder, memanfaatkan aplikasi gratis bernama pathed.exe. Berikut ini adalah tautan ke panduan lengkap: addictivetips.com/windows-tips/… Saya sekarang dapat dengan mudah menambahkan folder ke PATH variabel atau menghapusnya dari itu, tanpa harus mengedit file atau khawatir mengacaukan format variabel. Semoga itu membantu. =) - Haroon Q. Raja
Pada Windows ada jalan pintas untuk membuka properti Sistem yaitu. Control Panel -> System Ini WIN key pada keyboard + Pause / Break (WIN + Break). Ini sangat membantu dan mempercepat proses pengaturan variabel lingkungan baru di Win8 karena di sana Anda harus mengklik melalui beberapa jendela di ui modern (Ya. Jika itu modern maka saya akan menumbuhkan kaktus di telapak tangan saya) yang hanya menjengkelkan. Tentu saja Anda dapat membuat skrip powershell atau menggunakan perintah setx dan jangan khawatir lagi tentang itu: D - termil0r
Di Windows 8, navigasi tercepat untuk mengubah sistem dan variabel lingkungan pengguna menggunakan pencarian. <kbd> Win </ kbd> + <kbd> W </ kbd> menampilkan pencarian untuk semua pengaturan. Pencarian untuk envdan opsi yang dibutuhkan dicantumkan. - FRIdSUN
Saya pikir itu lebih cepat dan lebih jelas dengan membuka CMD dan mengetik set, atau PowerShell dan mengetik Get-Childitem env:. - paradroid
Jika Anda mengedit variabel jalur banyak (seperti saat menyiapkan sistem baru), mungkin membantu untuk memiliki pintasan ke dialog System Properties di desktop. Untuk melakukannya, klik kanan pada desktop, pilih Shortcut Baru, dan masukkan systempropertiesadvanced.exe. Kemudian Anda dapat mengklik tautan untuk masuk ke dialog System Properties, kemudian klik pada Variabel Lingkungan untuk sampai ke dialog dengan pengaturan jalur. - Brian Burns


Jawaban:


Apa itu Variabel Lingkungan?

Variabel lingkungan menyimpan nilai yang terkait dengan lingkungan saat ini, seperti Sistem Operasi atau sesi pengguna.

Path

Salah satu yang paling terkenal disebut PATH pada Windows, Linux dan Mac OS X. Ini menentukan direktori di mana program yang dapat dieksekusi * terletak pada mesin yang dapat dimulai tanpa mengetahui dan mengetikkan seluruh path ke file pada baris perintah. (Atau di Windows, Menjalankan dialog di Start Menu atau Win+R).

Di Linux dan Mac OS X, biasanya menampung semua bin dan sbin direktori yang relevan untuk pengguna saat ini. Pada Windows, setidaknya berisi C:\Windows dan C:\Windows\system32 direktori - itulah mengapa Anda bisa menjalankan  calc.exe atau notepad.exe dari baris perintah atau Menjalankan dialog, tetapi tidak firefox.exe. (Firefox terletak di C:\Program Files\Mozilla Firefox. Untuk informasi tentang cara memasukkan Firefox, lanjut sini.)

Misalnya, mengetik calc (itu .exe  bisa dihilangkan) di baris perintah pada Windows akan memulai Kalkulator Windows.

* Anda dapat menambahkan dukungan untuk ekstensi file selain .exe dengan mengedit %PATHEXT%.

Lain

Variabel lain mungkin memberi tahu program jenis terminal apa yang digunakan (TERM di Linux / Mac OS X), atau, di Windows, di mana folder Windows berada (misalnya, %WINDIR% aku s C:\Windows).

Menciptakan variabel lingkungan baru

Di Windows, Linux, dan Unix, dimungkinkan untuk membuat variabel lingkungan baru, yang nilainya kemudian tersedia untuk semua program saat peluncuran.

Anda dapat menggunakan ini saat menulis skrip atau program yang diinstal atau disebarkan ke beberapa mesin dan perlu referensi nilai yang khusus untuk mesin ini. Sementara efek serupa dapat dicapai dengan menggunakan pengaturan konfigurasi khusus program, lebih mudah untuk melakukan ini menggunakan variabel lingkungan jika beberapa program perlu mengakses nilai yang sama.

Windows

GUI

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

  2. Mengetik control sysdm.cpl,,3 dalam dialog Jalankan (Win+R) dan klik Environment Variables.
    Untuk mengedit variabel pengguna, Anda juga dapat mengetik

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

    dalam dialog Run.

  3. Klik kanan (My) Computer dan klik Properties, atau cukup tekan Win+Istirahat.

    • Di XP klik Advanced » Environment Variables.
    • Di Vista + klik Advanced system settings » Environment Variables.
  4. Ada banyak cara lain untuk mencapai tempat yang sama, seperti dengan mengetik "variabel lingkungan" di kotak pencarian Start Menu / Layar dan sebagainya.

Variabel lingkungan di Windows dipisahkan menjadi nilai spesifik pengguna dan mesin / sistem. Anda dapat melihat dan mengedit nilainya di sana. Nilai-nilai mereka saat ini diluncurkan tersedia untuk semua program.

Ada juga Editor Lingkungan Cepat, yang membantu pengaturan dan mengubah variabel lingkungan di Windows tanpa perlu masuk jauh ke dalam pengaturan sistem. Program open source lain untuk Windows yang lingkungannya dapat diedit dengan sangat mudah adalah Path Editor.

Garis komando

Format

Variabel Lingkungan di Windows ditandai dengan tanda persen (%) di sekitar nama:

%name%

gema

Untuk menampilkan nilai variabel lingkungan di cmd.exe, ketik echo %name%.

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

set

Untuk buat / set sebuah variabel, gunakan set varname=value:

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

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

Untuk tambahkan / tambahkan sebuah variabel, gunakan set varname=value;%varname%:

C:\>set Penguins=C:\Linux

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

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

Variabel lingkungan yang diatur dengan cara ini tersedia untuk (sisa) durasi proses Command Prompt di mana mereka ditetapkan, dan tersedia untuk proses yang dimulai setelah variabel ditetapkan.

setx

Untuk buat / set sebuah variabel secara permanen, gunakan 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

Tidak seperti set, tidak ada tanda sama dengan dan nilai harus diapit tanda kutip jika berisi spasi. Perhatikan bahwa variabel dapat diperluas ke string dengan spasi (misalnya, %PATH% menjadi C:\Program Files), jadi sebaiknya sertakan tanda kutip di sekitar nilai yang mengandung variabel apa pun.

Anda harus menambahkan secara manual setx ke versi Windows lebih awal dari Vista.
Alat Dukungan Windows XP Paket Layanan 2

Daftar Variabel Lingkungan Windows

Sini adalah daftar variabel lingkungan default, yang dibangun ke Windows. Beberapa contoh adalah: %WINDIR%, %SystemRoot%, %USERPROFILE%, dan %APPDATA%. Seperti kebanyakan nama di Windows, ini adalah case-insensitive.

Turunan Unix (FreeBSD, GNU / Linux, OS X)

Variabel Lingkungan di Linux diawali dengan tanda dolar ($) seperti $ HOME atau $ HOSTNAME. Banyak variabel terkenal dan standar dijabarkan dalam huruf besar untuk menunjukkan hal itu. Perlu diingat bahwa nama variabel bersifat case-sensitive, artinya $ User dan $ USER sama sekali tidak terkait dari sudut pandang shell.

Turunan Unix mendefinisikan variabel lebar sistem dalam skrip shell yang terletak sebagian besar di /etc folder, tetapi nilai spesifik pengguna dapat diberikan ke variabel tersebut dalam skrip yang ada di folder beranda (misalnya, /etc/profile, $HOME/.bash_profile). Itu .profile file di folder home adalah tempat umum untuk menentukan variabel pengguna.

Menetapkan variabel

File-file ini adalah skrip shell biasa dan dapat berisi lebih dari deklarasi variabel lingkungan saja. Untuk mengatur variabel lingkungan, gunakan export. Untuk menunjukkan variabel lingkungan yang Anda definisikan saat ini di terminal, jalankan env.

Itu export perintah adalah cara standar untuk mendefinisikan variabel. Sintaksnya sangat intuitif. Hasilnya identik untuk kedua jalur ini, tetapi alternatif pertama lebih disukai jika portabilitas ke shell Bourne pra-POSIX diperlukan.

var=value; export var
export var=value

C shell dan turunannya menggunakan sintaks yang sama sekali berbeda; di sana, perintahnya setenv.

Lihat proyek dokumentasi Linux, Path HOWTO untuk diskusi yang lebih menyeluruh tentang topik ini.

Mungkin bertentangan dengan kepercayaan umum, OS X lebih "Unix" daripada Linux. Selain file yang telah disebutkan, $ PATH dapat dimodifikasi dalam file-file ini:

  • /etc/paths berisi semua direktori default yang ditambahkan ke jalur, seperti /bin dan /usr/sbin.
  • Semua file dalam /etc/paths.d - Umumnya digunakan oleh pemasang untuk membuat file yang dapat dieksekusi yang mereka sediakan dari shell tanpa menyentuh file konfigurasi seluruh sistem atau khusus pengguna. File-file ini hanya berisi satu jalur per baris. mis., / Program / Mozilla / Kalender / bin.

Tautan Eksternal:

Variabel Lingkungan di XP
Alat Dukungan Windows XP Paket Layanan 2 (Termasuk setx)
Variabel Lingkungan di Windows Vista dan Windows 7
Menambahkan executable ke Run Dialog Box
Mac OSX Tips - Mengatur Variabel Lingkungan
TLDP: Path Howto


309
2018-05-16 18:44



Pada Windows Vista dan seterusnya Anda dapat menggunakan SETX untuk membuat perubahan permanen. Ini memiliki sintaks yang sedikit berbeda. SETX harus ditambahkan dari Windows Server 2003 Resource Kit untuk versi sebelumnya NT. - paradroid
@paradroid Nice, tidak tahu itu (bukan pengguna Windows). Topik ini adalah wiki komunitas, Anda dapat melanjutkan dan hanya mengedit informasi itu. - Daniel Beck♦
@JdeBP Judul bagian dimaksudkan untuk referensi cara mengatur nilai-nilai ini di antarmuka pengguna, yang disebut kulit pada Windows, berbeda dengan bagian berikut, antarmuka baris perintah. Saya mengedit ini bahkan sebelum saya melihat komentar Anda 10 jam yang lalu. Tidak ada yang pernah menyebutkan bahwa ini hanya diterapkan untuk Explorer. - Daniel Beck♦
@JdeBP Jawaban yang Anda tautkan tidak benar-benar berlaku dalam kasus ini, karena Anda berbicara tentang pengaturan nilai dalam registri. Pengaturan melalui dialog akan menyiarkannya WM_SETTINGCHANGE Saya membayangkan, dan karena itu beri tahu pihak yang tertarik tentang nilai-nilai baru. Itu sebabnya saya bertanya bagaimana itu diterapkan di sini. Membuat sesuatu yang berani tidak mengubah maknanya dan tidak membuatnya lebih mudah dimengerti, seperti mengulangi kalimat yang sama, hanya lebih keras. Juga, saya mengedit posting ini beberapa jam yang lalu untuk secara khusus menyebutkan bahwa nilai-nilai proses yang diterima ditetapkan ketika mereka diluncurkan. - Daniel Beck♦
@JdeBP Anda mungkin juga memperhatikan bahwa pertanyaannya agak bersifat dasar. Hati-hati menjelaskan seluk-beluk bagaimana perubahan pada variabel lingkungan didistribusikan (serius, WM_SETTINGCHANGE? Windows API? Ini bukan audiens pertanyaan ini!) Mungkin bukan ide yang baik, karena mungkin membingungkan pembaca daripada menjelaskan apa variabel ini tentang. - Daniel Beck♦


Posting ini berasal dari sudut pandang yang lebih teknis daripada Daniel, tetapi tidak menjelaskan banyak konsep.


Itu Artikel Wikipedia juga merupakan referensi yang bagus.

Linux dan sebagian besar BSD

Di sebagian besar shell baris perintah, variabel lingkungan sementara ditetapkan menggunakan export (sh, bash, zsh) atau setenv Perintah (csh, tcsh).

  • Contoh untuk prepending $HOME/bin untuk $PATH di bash atau zsh:

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

    (Dalam kasus khusus ini, export tidak diperlukan lagi sejak itu PATH sudah menjadi bagian dari lingkungan.)

  • csh, tcsh:

    setenv PATH "$HOME/bin:$PATH"
    

Variabel lingkungan yang terus-menerus dapat diatur selama beberapa tahapan terpisah:

  • Masuk:

    • Pengaturan sesi login: Linux pam_env, yang biasanya dibaca dari /etc/environment

    • Login terminal: File "profil" shell.

      • bash menggunakan /etc/profile dan yang pertama: ~/.bash_profile, ~/.bash_login, ~/.profile. Halaman manual bash(1) bagian Doa.

        Seringkali, file profil pengguna menyertakan panggilan eksplisit untuk ~/.bashrc terlalu.

      • zsh: Halaman manual zsh(1) bagian File Startup / shutdown.

      • csh dan cangkang lainnya: Lihat halaman manual yang tepat.

    • Login grafis: Tidak yakin; dapat bervariasi tergantung pada manajer login. GDM muncul untuk membaca ~/.profile di sistem saya.

  • Membuka jendela terminal:

    • bash menggunakan /etc/bash.bashrc dan ~/.bashrc.

Seri Windows NT

  • Di Command Prompt (cmd.exe), gunakan set name=value untuk mengubah variabel lingkungan untuk jendela itu.

    Untuk ditambahkan c:\bin untuk %PATH%, gunakan:

    set path=%path%;c:\bin
    

    Ini hanya mempengaruhi itu cmd.exe proses, dan apa saja baru proses diluncurkan dari itu.

  • Untuk membuat perubahan yang terus-menerus, gunakan Panel Kontrol → Sistem → Lanjutan → Variabel Lingkungan. (dokumen)

    catatan: Meskipun pengaturan pengguna biasanya menggantikan yang sistem, PATH variabel ditangani secara khusus: baik sistem dan pengaturan pengguna digabung menjadi nilai akhir.

    Perubahan disimpan ke Registry (lihat di bawah), dan langsung berlaku untuk semua baru proses yang dibuat oleh Explorer (shell grafis), misalnya, melalui Start Menu.

  • Variabel lingkungan sistem-luas disimpan di Registry, HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment, dan dimuat pada boot sistem.

    Lingkungan pengguna disimpan di HKCU\Environment dan dimuat saat masuk pengguna.

  • Secara default, sistem juga mencari set perintah masuk AUTOEXEC.NT mengajukan.

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

  • Di MS-DOS Prompt (command.com), gunakan set name=value, seperti dalam WinNT.

    Begitu pula, berlari set interaktif hanya mempengaruhi yang satu itu command.com Misalnya, bersama dengan proses baru yang diluncurkan darinya.

  • Untuk membuat perubahan terus-menerus, tambahkan atau edit yang sesuai set baris di C:\AUTOEXEC.BAT, lalu reboot.

    • Solusi untuk menghindari restart, untuk Windows 9x: buka jendela MS-DOS Prompt, atur variabel yang tepat, tutup proses Explorer yang ada (Mulai → Matikan → sambil menahan Ctrl + Shift, klik Membatalkan), jalankan explorer.exe dari jendela MS-DOS Prompt.

VMS

(Tidak bisa menahan.)

DCL tidak memiliki konsep "jalur", tetapi berbagai simbol dan definisi perintah dapat dimasukkan SYS$LOGIN:LOGIN.COM.


61
2018-05-16 19:03



Bagian VMS salah. DCL memiliki DCL$PATH untuk "perintah asing otomatis". - JdeBP
@grawity, Apa yang Anda maksud dengan "vms tidak bisa menahan ..."? - Pacerier


Untuk bash kulit PATH variabel lingkungan global (non-terminal), saya mengikuti konvensi yang digunakan dalam instalasi VM Ubuntu saya - shell lain akan bervariasi:

Peringatan: Seluruh urutan start-up shell, yang .bashrc, .profile, dll. file yang bersumber di mana pesanan ?, kapan saya harus masuk kembali untuk mendapatkan visibilitas ke variabel yang baru didefinisikan, alias, dll ?, apa perbedaan antara login, interaktif, dan shell non-interaktif - Saya memang menggunakan cron?, dan mengapa ketika saya melakukan . ~/.bashrc adalah kebodohanku PATH variabel tumbuh lebih lama dan lebih lama? adalah pertanyaan kunci yang muncul dalam pikiran ketika saya memikirkan saya PATH variabel.

Bahkan, saya baru saja menulis ulang seluruh file startup bash saya yang mengambil ide dari file skelet Ubuntu dan cygwin, dan berikut ini beberapa situs saya:

  1. Ekspor PATH dan variabel lingkungan global lainnya (yaitu LD_LIBRARY_PATH) variabel dalam .profile;
  2. Gunakan logika dalam ~/.profile ke sumber $HOME/.bashrc jika ada;
  3. Ekspansi pagar dari ~/.bashrc dengan tes untuk eksekusi interaktif, keluar sebaliknya;
  4. Masukkan semua alias, shopt's, setup cepat, kontrol sejarah, pengaturan terminal, definisi fungsi, dll (pengaturan terkait interaktif) di bagian ~/.bashrc yang dilindungi untuk hanya berjalan dalam mode interaktif;
  5. Singkirkan file startup bash lainnya, karena keberadaan mereka menentukan apakah jalur kontrol melalui .profile dan .bashrc bekerja sesuai harapan. Yaitu, kecuali ada persyaratan khusus untuk melakukan sebaliknya, hapus ~/.bash_profile & ~/.bash_login;
  6. Ketika saya di prompt bash, dan saya perlu memperbarui beberapa pengaturan default, saya edit ~/.bashrc file, lalu cukup sumber dengan . ~/.bashrc untuk mendapatkan perubahan pada shell saya saat ini.
  7. Ketika saya membuat perubahan ke variabel lingkungan seperti PATH, Saya perlu memodifikasi dan sumber saya ~/.profile;
  8. Saya melakukan panggilan ke fink, port, dan membuat penyiapan khusus di .profile.

Itu 2 sen saya tentang topik ini.


8
2018-01-15 17:49





Q:  APA Variabel Lingkungan?

SEBUAH: Variabel Lingkungan mirip dengan variabel dalam bahasa pemrograman apa pun. Dalam kasus Windows, atau sistem Unix mereka menyimpan berbagai nilai untuk memungkinkan program dan tugas untuk mendapatkan informasi OS yang diperlukan, atau informasi 'Lingkungan'. Untuk misalnya:

USERPROFILE: direktori pengguna dalam file OSc.

MAIL: di mana surat pengguna dapat ditemukan di dalam file OS.

T: APA variabel PATH secara spesifik?

SEBUAH: Variabel PATH menetapkan jalur direktori untuk melihat ketika perintah dijalankan, baik untuk perintah RUN, dan untuk panggilan internal dari program. Hal ini mencegah program untuk tidak perlu mengetahui lokasi pemasangannya untuk memanggil proses yang dapat dieksekusi lainnya.

Terlihat pada variabel Windows Environment System PATH dan menguji setiap lokasi untuk eksekusi yang diberikan. Dengan demikian menambahkan lokasi ke variabel PATH, memungkinkan dieksekusi untuk dipanggil secara langsung.

"Ketika sebuah perintah dimasukkan dalam shell perintah atau panggilan sistem dibuat oleh program untuk menjalankan program, sistem pertama mencari direktori kerja saat ini dan kemudian mencari jalan, memeriksa setiap direktori dari kiri ke kanan" - http://en.wikipedia.org/wiki/PATH_(variable)


T: BAGAIMANA menambahkan lokasi ke variabel PATH?

SEBUAH: Anda perlu mengedit string variabel variabel Variabel Lingkungan PATH untuk memasukkan lokasi eksekusi Anda.

Salah satu cara untuk melakukan ini Dari (https://kb.wisc.edu/cae/page.php?id=24500) 1. Buka Start Menu dan klik kanan pada Computer. Pilih Properties. 2. Pilih Pengaturan sistem lanjutan. 3. Pada tab Lanjut, pilih Variabel Lingkungan. 4. Pilih EDIT atau NEW. (untuk PATH Anda kemungkinan besar ingin EDIT). 5. Tambahkan jalur lokasi Anda. misal: C: \ wamp \ bin \ php \ php5.5.12;

Saya harap ini menjelaskan beberapa kebingungan. Suntingan dan komentar diterima.


6
2017-07-25 09:57