Pertanyaan tentang
- pengaturan variabel lingkungan
- itu
PATH
sangat umum di sini, dan dalam kebanyakan 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 saya bisa mengubah dan menggunakannya pada sistem operasi utama?
Jawaban yang baik akan mencakup penjelasan sederhana tentang variabel lingkungan apa dan khususnya yang PATH
berarti bagi OS, serta pedoman sederhana tentang cara mengatur dan membacanya sesuai dengan itu.
env
dan opsi yang diperlukan terdaftar.CMD
dan mengetikset
, atauPowerShell
mengetikGet-Childitem env:
.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, dialog Run di Start Menu atau + R).Di Linux dan Mac OS X, biasanya menyimpan semua
bin
dansbin
direktori yang relevan untuk pengguna saat ini. Pada Windows, ini berisi setidaknya direktoriC:\Windows
danC:\Windows\system32
- itulah sebabnya Anda dapat menjalankancalc.exe
ataunotepad.exe
dari baris perintah atau dialog Run , tetapi tidakfirefox.exe
. (Firefox terletak diC:\Program Files\Mozilla Firefox
. Untuk informasi tentang cara memasukkan Firefox, buka di sini .)Misalnya, mengetik
calc
(yang.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 (mis.,%WINDIR%
AdalahC:\Windows
).Membuat variabel lingkungan baru
Di Windows, Linux dan Unix, dimungkinkan untuk membuat variabel lingkungan baru, yang nilainya kemudian tersedia untuk semua program saat diluncurkan.
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 yang sama 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
Terbuka
Control Panel » System » Advanced » Environment Variables
.Ketik
control sysdm.cpl,,3
dialog Run ( + R) dan klikEnvironment Variables
.Untuk mengedit variabel pengguna, Anda juga dapat mengetik
dalam dialog Run.
Klik kanan (My) Computer dan klik Properties, atau cukup tekan + Break.
Advanced » Environment Variables
.Advanced system settings » Environment Variables
.Ada banyak cara lain untuk mencapai tempat yang sama, seperti dengan mengetikkan "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 saat ini pada saat peluncuran tersedia untuk semua program.
Ada juga Rapid Environment Editor , yang membantu pengaturan dan perubahan variabel lingkungan di Windows tanpa perlu masuk jauh ke pengaturan sistem. Program open source lain untuk Windows yang dengannya lingkungan path dapat diedit dengan sangat mudah adalah Path Editor .
Garis komando
Format
Variabel Lingkungan di Windows dilambangkan dengan tanda persen (%) di sekitar nama:
gema
Untuk menampilkan nilai variabel lingkungan di
cmd.exe
, ketikecho %name%
.set
Untuk membuat / mengatur variabel, gunakan
set varname=value
:Untuk menambahkan / menambahkan variabel, gunakan
set varname=value;%varname%
: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 membuat / mengatur variabel secara permanen , gunakan
setx varname "value"
:Tidak seperti
set
, tidak ada tanda sama dengan dan nilainya harus diapit dengan tanda kutip jika mengandung spasi. Perhatikan bahwa variabel dapat diperluas ke string dengan spasi (misalnya,%PATH%
menjadiC:\Program Files
), jadi yang terbaik adalah menyertakan tanda kutip di sekitar nilai yang berisi variabel apa pun.Anda harus secara manual menambahkan
setx
ke versi Windows lebih awal dari Vista.Alat Dukungan Windows XP Paket Layanan 2
Daftar Variabel Lingkungan Windows
Berikut adalah daftar variabel lingkungan default , yang dibangun ke dalam Windows. Beberapa contoh adalah:
%WINDIR%
,%SystemRoot%
,%USERPROFILE%
, dan%APPDATA%
. Seperti kebanyakan nama di Windows, ini tidak peka huruf besar-kecil.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 kapital untuk menandakan hal itu. Ingatlah bahwa nama variabel peka huruf besar kecil, artinya $ User dan $ USER sama sekali tidak terkait dari sudut pandang shell.
Derivatif Unix mendefinisikan variabel lebar sistem dalam skrip shell yang sebagian besar berada di
/etc
folder, tetapi nilai spesifik pengguna dapat diberikan kepada variabel tersebut dalam skrip yang terletak di folder home (misalnya/etc/profile
,,$HOME/.bash_profile
). The.profile
file dalam folder rumah adalah tempat umum untuk mendefinisikan variabel pengguna.Pengaturan variabel
File-file ini adalah skrip shell biasa dan dapat berisi lebih dari sekedar deklarasi variabel lingkungan. Untuk mengatur variabel lingkungan, gunakan
export
. Untuk menunjukkan variabel lingkungan yang Anda tentukan saat ini di terminal, jalankanenv
.The
export
perintah adalah cara standar untuk mendefinisikan variabel. Sintaksnya sangat intuitif. Hasilnya identik untuk dua baris ini, tetapi alternatif pertama lebih disukai dalam hal portabilitas ke shell Bourne pra-POSIX diperlukan.C shell dan turunannya menggunakan sintaks yang sama sekali berbeda; di sana, perintahnya adalah
setenv
.Lihat proyek dokumentasi Linux, Path HOWTO untuk diskusi yang lebih menyeluruh tentang topik ini.
Mungkin bertentangan dengan kepercayaan umum, OS X lebih "Unix" dari Linux. Selain file yang telah disebutkan, $ PATH dapat dimodifikasi dalam file ini:
/etc/paths
berisi semua direktori default yang ditambahkan ke path, seperti/bin
dan/usr/sbin
./etc/paths.d
- biasanya digunakan oleh penginstal untuk membuat file yang dapat dieksekusi yang mereka sediakan tersedia dari shell tanpa menyentuh file konfigurasi khusus sistem atau pengguna. File-file ini hanya berisi satu jalur per baris. misalnya, / Program / Mozilla / Kalender / bin.Tautan Eksternal:
sumber
SETX
untuk membuat perubahan permanen. Ini memiliki sintaks yang sedikit berbeda.SETX
harus ditambahkan dariWindows Server 2003 Resource Kit
untuk versi sebelumnyaNT
.WM_SETTINGCHANGE
saya bayangkan, dan karena itu memberi tahu pihak yang tertarik tentang nilai-nilai baru. Itu sebabnya saya bertanya bagaimana ini diterapkan di sini. Membuat sesuatu yang berani tidak mengubah artinya dan juga tidak membuatnya lebih mudah untuk dipahami, seperti mengulangi kalimat yang sama, hanya lebih keras. Juga, saya mengedit posting ini beberapa jam yang lalu untuk secara khusus menyebutkan bahwa nilai-nilai yang diterima proses ditetapkan ketika mereka diluncurkan.WM_SETTINGCHANGE
"Windows API? Ini bukan pemirsa pertanyaan ini!) Mungkin bukan ide yang baik, karena mungkin membingungkan pembaca, bukan menjelaskan tentang apa variabel-variabel ini tentang .Posting ini dari sudut pandang yang lebih teknis daripada Daniel, tetapi tidak menjelaskan banyak konsep.
The Artikel Wikipedia juga merupakan pada referensi yang sangat baik.
Linux dan sebagian besar BSD
Di sebagian besar shell baris perintah, variabel lingkungan sementara diatur menggunakan perintah
export
(sh, bash, zsh) atausetenv
(csh, tcsh).Contoh untuk mengawali
$HOME/bin
untuk$PATH
di bash atau zsh:(Dalam kasus khusus ini,
export
tidak perlu karenaPATH
sudah menjadi bagian dari lingkungan.)csh, tcsh:
Variabel lingkungan yang persisten dapat diatur selama beberapa tahap terpisah:
Gabung:
Pengaturan sesi login: Linux
pam_env
, yang biasanya dibaca dari/etc/environment
Terminal login: File "profil" shell.
bash
menggunakan/etc/profile
dan yang pertama dari:~/.bash_profile
,~/.bash_login
,~/.profile
. Doabash(1)
bagian halaman manual .Seringkali, file profil pengguna menyertakan panggilan eksplisit
~/.bashrc
juga.zsh
:zsh(1)
Bagian halaman manual File startup / shutdown .csh
dan cangkang lainnya: Lihat halaman manual yang sesuai.Login grafis: Tidak yakin; dapat bervariasi tergantung pada manajer login. GDM tampaknya membaca
~/.profile
di sistem saya.Pembukaan jendela terminal:
bash
menggunakan/etc/bash.bashrc
dan~/.bashrc
.Seri Windows NT
Di Command Prompt (
cmd.exe
), gunakanset name=value
untuk mengubah variabel lingkungan untuk jendela itu.Untuk menambahkan
c:\bin
ke%PATH%
, gunakan:Ini hanya memengaruhi
cmd.exe
proses itu, dan setiap proses baru diluncurkan darinya.Untuk membuat perubahan terus-menerus, gunakan Panel Kontrol → Sistem → Lanjutan → Variabel Lingkungan . ( docs )
Catatan: Ketika pengaturan pengguna biasanya menimpa yang sistem,
PATH
variabel ditangani secara khusus: pengaturan sistem dan pengguna digabungkan ke dalam nilai akhir.Perubahan disimpan ke Registri (lihat di bawah), dan langsung diterapkan ke semua proses baru yang dibuat oleh Explorer (shell grafis), misalnya, melalui Start Menu.
Variabel lingkungan sistem-lebar disimpan dalam Registry
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
,, dan dimuat saat boot sistem.Lingkungan pengguna disimpan
HKCU\Environment
dan dimuat selama login pengguna.Secara default, sistem juga mencari
set
perintah dalamAUTOEXEC.NT
file.MS-DOS, Windows 16-bit, seri Windows 9x
Di MS-DOS Prompt (
command.com
), gunakanset name=value
, seperti di WinNT.Demikian pula, menjalankan secara
set
interaktif hanya memengaruhi satucommand.com
instance, bersama dengan setiap proses baru yang diluncurkan darinya.Untuk membuat perubahan terus-menerus, tambahkan atau edit
set
baris yang sesuaiC:\AUTOEXEC.BAT
, lalu reboot.explorer.exe
dari jendela MS-DOS Prompt .VMS
(Tidak bisa menahan.)
DCL tidak memiliki konsep "jalan", tetapi berbagai simbol dan definisi perintah dapat dimasukkan
SYS$LOGIN:LOGIN.COM
.sumber
DCL$PATH
untuk " perintah asing otomatis ".Untuk variabel lingkungan global
bash
shellPATH
(non-terminal), saya mengikuti konvensi yang digunakan dalam instalasi Ubuntu VM saya - shell lain akan bervariasi:Peringatan: Seluruh urutan pengaktifan shell, yang mana
.bashrc
,.profile
dll. Diambil dari urutan yang mana ?, kapan saya harus login ulang untuk mendapatkan visibilitas ke variabel yang baru didefinisikan, alias, dll ?, apa perbedaan antara login , shell interaktif, dan non-interaktif - saya menggunakancron
?, dan mengapa ketika saya melakukan a. ~/.bashrc
adalahPATH
variabel bodoh saya tumbuh lebih lama dan lebih lama? adalah pertanyaan kunci yang muncul ketika saya memikirkanPATH
variabel saya .Bahkan, saya baru saja sepenuhnya menulis ulang seluruh set file startup bash saya mengambil ide dari Ubuntu dan file kerangka cygwin, dan berikut adalah beberapa situs saya di:
PATH
dan variabel lingkungan global lainnya (yaituLD_LIBRARY_PATH
) variabel dalam.profile
;~/.profile
untuk sumber$HOME/.bashrc
jika ada;~/.bashrc
dengan tes untuk eksekusi interaktif, keluar sebaliknya;shopt
's, pengaturan cepat, kontrol riwayat, pengaturan terminal, definisi fungsi, dll. (Pengaturan terkait interaktif) di bagian~/.bashrc
yang dilindungi agar hanya berjalan dalam mode interaktif;.profile
dan.bashrc
berfungsi seperti yang diharapkan. Yaitu, kecuali ada persyaratan khusus untuk melakukan sebaliknya, hapus~/.bash_profile
&~/.bash_login
;~/.bashrc
file saya , kemudian cukup sumber dengan a. ~/.bashrc
untuk mendapatkan perubahan-perubahan di shell saya saat ini.PATH
, saya perlu memodifikasi dan sumber saya~/.profile
;.profile
.Itu 2 sen saya pada topik ini.
sumber
T: Apa itu Variabel Lingkungan?
A: Variabel Lingkungan mirip dengan variabel dalam bahasa pemrograman apa pun. Dalam kasus sistem Windows atau Unix mereka menyimpan berbagai nilai untuk memungkinkan program dan tugas mendapatkan informasi OS yang diperlukan atau informasi 'Lingkungan'. Sebagai contoh:
USERPROFILE: direktori pengguna di dalam file OS.
MAIL: tempat surat pengguna dapat ditemukan dalam file OS.
T: APA variabel PATH secara spesifik?
A: Variabel PATH menetapkan jalur direktori untuk melihat ketika perintah dijalankan, baik untuk perintah RUN, dan untuk panggilan internal dari program. Ini mencegah program dari perlu mengetahui lokasi instalasinya untuk memanggil proses yang dapat dieksekusi lainnya.
Itu terlihat ke variabel PATH Sistem Lingkungan Windows dan menguji setiap lokasi untuk executable yang diberikan. Dengan demikian menambahkan lokasi ke variabel PATH memungkinkan executable dipanggil secara langsung.
Menurut artikel Wikipedia ini :
T: BAGAIMANA cara menambahkan lokasi ke variabel PATH?
A: Anda perlu mengedit string variabel dari variabel PATH Variabel Lingkungan untuk memasukkan lokasi Anda yang dapat dieksekusi.
Salah satu cara untuk melakukannya dijelaskan di sini :
C:\wamp\bin\php\php5.5.12;
Saya harap ini menjelaskan beberapa kebingungan.
sumber