Ada banyak cara untuk melakukannya. Solusi aktual tergantung pada tujuannya.
Nilai variabel biasanya disimpan dalam daftar tugas atau skrip shell yang dijalankan pada awal sistem atau sesi pengguna. Dalam hal skrip shell, Anda harus menggunakan sintaks dan export
atau set
perintah shell tertentu .
Sistem luas
/etc/environment
Daftar penugasan unik, memungkinkan referensi. Sempurna untuk menambahkan direktori seluruh sistem seperti /usr/local/something/bin
ke PATH
variabel atau mendefinisikan JAVA_HOME
. Digunakan oleh PAM dan SystemD.
/etc/environment.d/*.conf
Daftar penugasan unik, memungkinkan referensi. Sempurna untuk menambahkan direktori seluruh sistem seperti /usr/local/something/bin
ke PATH
variabel atau mendefinisikan JAVA_HOME
. Konfigurasi dapat dipecah menjadi beberapa file, biasanya satu per masing-masing alat (Java, Go, NodeJS). Digunakan oleh SystemD yang menurut desain tidak meneruskan nilai-nilai itu ke shell login pengguna.
/etc/xprofile
Script shell dieksekusi saat memulai sesi Sistem X Window. Ini dijalankan untuk setiap pengguna yang masuk ke Sistem X Window. Ini adalah pilihan yang baik untuk PATH
entri yang valid untuk setiap pengguna /usr/local/something/bin
. File ini disertakan oleh skrip lain jadi gunakan sintaksis shell POSIX bukan sintaksis shell pengguna Anda.
/etc/profile
dan /etc/profile.d/*
skrip Shell. Ini adalah pilihan yang baik untuk sistem shell-only. File-file itu hanya dibaca oleh shell dalam mode login.
/etc/<shell>.<shell>rc
. Skrip shell. Ini adalah pilihan yang buruk karena ini adalah shell khusus. Digunakan dalam mode non-login.
Sesi pengguna
~/.pam_environment
. Daftar penugasan unik, tidak ada referensi yang diizinkan. Dimuat oleh PAM pada awal setiap sesi pengguna yang tidak relevan jika itu adalah sesi atau shell Sistem X Window. Anda tidak dapat merujuk variabel lain termasuk HOME
atau PATH
karena itu penggunaannya terbatas. Digunakan oleh PAM.
~/.xprofile
Skrip shell. Ini dijalankan ketika pengguna masuk ke sistem Sistem X Window. Variabel yang didefinisikan di sini terlihat oleh setiap aplikasi X. Pilihan yang sempurna untuk memperluas PATH
dengan nilai-nilai seperti ~/bin
atau ~/go/bin
atau mendefinisikan pengguna tertentu GOPATH
atau NPM_HOME
. File ini disertakan oleh skrip lain jadi gunakan sintaksis shell POSIX bukan sintaksis shell pengguna Anda. Editor teks grafis atau IDE Anda dimulai dengan pintasan akan melihat nilai-nilai itu.
~/.profile
, ~/.<shell>_profile
, ~/.<shell>_login
Shell script. Ini akan terlihat hanya untuk program yang dimulai dari terminal atau terminal emulator. Ini adalah pilihan yang baik untuk sistem shell-only. Digunakan oleh shell dalam mode login.
~/.<shell>rc
. Skrip shell. Ini adalah pilihan yang buruk karena ini adalah shell khusus. Digunakan oleh shell dalam mode non-login.
Catatan
Gnome on Wayland memulai shell login pengguna untuk mendapatkan lingkungan. Secara efektif menggunakan konfigurasi shell login ~/.profile
, ~/.<shell>_profile
, ~/.<shell>_login
file.
Manual
- lingkungan Hidup
- lingkungan.d
- pesta
- berlari
Distribusi dokumentasi khusus
Terkait
Perbedaan antara Shell Login dan Shell Non-Login?
.bash_profile
harus ditambahkan ke daftar juga?/etc/environment
. Tetapi dapatkah saya menyegarkannya tanpa keluar dan masuk? Terkadang saya tidak menggunakan bash atau sh jadisource /etc/environment
tidak berfungsi.Anda perlu menambahkannya ke file
~/.profile
atau Anda~/.bashrc
.Bergantung pada apa yang Anda lakukan, Anda juga mungkin ingin symlink ke biner:
Perhatikan bahwa ini tidak akan secara otomatis memperbarui jalur Anda selama sisa sesi. Untuk melakukan ini, Anda harus menjalankan:
sumber
$PATH
dan/usr/bin
. 2) Harus/usr/bin
ada di sana. 3) Bukankah sebaiknya Anda menggunakan/usr/local/bin
?cd
ke direktori tempat Anda membukanya, lalu jalankanls
--- dan kemudian sadari bahwa tarball memiliki program jahat yang disebutnyals
.Di Ubuntu, edit
/etc/environment
. Tujuan utamanya adalah untuk menyimpan Variabel Lingkungan. Awalnya variabel $ PATH didefinisikan di sini. Ini adalah tempel dari/etc/environment
file saya :Jadi Anda bisa membuka file ini sebagai root dan menambahkan apa pun yang Anda inginkan.
Untuk hasil Segera, Jalankan (coba seperti pengguna dan root seperti biasa ):
MEMPERBARUI:
Jika Anda menggunakan
zsh
(alias Z Shell), tambahkan baris ini tepat setelah komentar di/etc/zsh/zshenv
:Saya mengalami kekhasan kecil ini di Ubuntu 15.10, tetapi jika zsh Anda tidak mendapatkan PATH yang benar , ini bisa menjadi alasannya
sumber
$PATH
juga didefinisikan/etc/profile
dalam Arch Linux.Masukkan
export
deklarasi~/.bashrc
. .Bashrc saya mengandung ini:sumber
.profile
', tidak menemukan.bashrc
source ~/.bashrc
untuk memuat ulang.bashrc
konfigurasi. Maka itu akan berhasilexport
kunci hanya diperlukan jikaPATH
belum ditandai sebagai variabel lingkungan - yang hampir tanpa syarat. Secara sederhanaPATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH
akan memiliki efek yang sama.Anda dapat mengatur
$PATH
secara permanen dalam 2 cara.Untuk mengatur jalur untuk pengguna tertentu: Anda mungkin perlu membuat entri di
.bash_profile
direktori home di pengguna.misalnya dalam kasus saya, saya akan mengatur jalur java di profil pengguna kucing jantan
Untuk mengatur jalur umum untuk SEMUA pengguna sistem, Anda mungkin perlu mengatur jalur seperti ini:
sumber
/etc/profiles
dengans
distro Anda? Punyaku tidaks
. Saya pikir Anda salah ketik.Anda dapat menggunakan Centos atau RHEL untuk pengguna lokal:
Ini menambahkan direktori saat ini (atau Anda dapat menggunakan direktori lain) ke PATH, ini membuatnya permanen tetapi berlaku pada login pengguna berikutnya.
Jika Anda tidak ingin melakukan login ulang, maka dapat menggunakan:
Yang memuat kembali
# User specific environment and startup programs
komentar ini hadir di.bash_profile
sumber
Anda juga dapat mengatur secara permanen, mengedit salah satu file ini:
/etc/profile
(untuk semua pengguna)~/.bash_profile
(untuk pengguna saat ini)~/.bash_login
(untuk pengguna saat ini)~/.profile
(untuk pengguna saat ini)Anda juga dapat menggunakan
/etc/environment
untuk menetapkan variabel lingkungan PATH permanen, tetapi tidak mendukung ekspansi variabel .Diambil dari: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html
sumber
Saya menemukan pertanyaan ini kemarin ketika mencari cara untuk menambahkan folder yang berisi skrip saya sendiri ke PATH - dan terkejut mengetahui bahwa
~/.profile
file saya sendiri (di Linux Mint 18.1) sudah berisi ini:Jadi, yang harus saya lakukan adalah membuat folder
~/bin
dan meletakkan skrip saya di sana.sumber
Saya pikir cara yang paling elegan adalah:
1. tambahkan ini di file ~ / .bashrc Jalankan perintah ini
tambahkan jalur Anda di dalamnya
2.sumber ~ / .bashrc
(Ubuntu)
sumber
Anda dapat menambahkan baris itu ke file konfigurasi konsol Anda (misalnya .bashrc), atau ke .profile
sumber
/home/(username)
ls -a
untuk melihatnya.)Tambahkan variabel PATH secara permanen
Global:
Lokal (hanya untuk pengguna):
Untuk restart global . Untuk relogin lokal .
Contoh
Sebelum:
Setelah:
Atau Anda dapat mengedit profil:
Cara lain (terima kasih gniourf_gniourf):
sumber
echo 'export PATH=$PATH:/new/path/variable'
... Dan omong-omong,export
kata kunci kemungkinan besar tidak berguna karenaPATH
variabel tersebut kemungkinan besar sudah ditandai sebagai diekspor./usr/local
menggunakan~/.bashrc
. sekarang jika Anda bermaksud menambahkan/opt/bin
ke variabel yang sama menggunakan/etc/bash.bashrc
; $ PATH akan menerjemahkan ke string statis yang sama, sebagai hasilnya $ PATH akan diganti alih-alih ditambahkan ke ... Ini akan menjadi masalah preferensi sistem untuk satu file di atas yang lain1.modifikasi file "/ etc / profile".
Tekan tombol "i" untuk memasukkan status pengeditan dan memindahkan kursor ke akhir file, Entri tambahan :
Tekan "Esc" tombol keluar dari status edit, ': wq' simpan file.
2. Buat konfigurasi efektif
Jelaskan : file profil berfungsi untuk semua pengguna, jika Anda hanya ingin valid untuk pengguna aktif, atur file ".bashrc"
sumber
Setelah banyak penelitian, saya menemukan solusi sederhana untuk ini (saya menggunakan OS dasar ), terinspirasi oleh tautan berikut .
Saya percaya ini adalah solusi permanen untuk mengatur path di flutter di distro Ubuntu
Semoga ini bisa membantu.
sumber
file tempat Anda menambahkan perintah ekspor tergantung apakah Anda berada dalam mode login atau mode non-login.
jika Anda berada dalam mode masuk, file yang Anda cari adalah / etc / bash atau /etc/bash.bashrc
jika Anda berada dalam mode non-login, Anda mencari file /.profile atau file dalam direktori /.profiles.d
file yang disebutkan di atas jika variabel sistemnya berada.
sumber
Tambah ke
/etc/profile.d
folder naskah[name_of_script].sh
dengan jalur:export PATH=$PATH:/dir
. Setiap skrip di dalam/etc/profile.d
folder secara otomatis dijalankan/etc/profile
pada saat login.sumber
Zues77 memiliki ide yang tepat. OP tidak mengatakan "bagaimana saya bisa meretas jalan saya melalui ini". OP ingin tahu cara menambahkan secara permanen ke $ PATH:
Di sinilah diatur untuk semuanya dan merupakan tempat terbaik untuk mengubahnya untuk semua hal yang membutuhkan $ PATH
sumber
Jawaban saya mengacu pada pengaturan
go-lang
pada.Ubuntu linux/amd64
Saya telah menghadapi kesulitan yang sama dalam mengatur path variabel lingkungan (GOPATH
danGOBIN
), kehilangan itu pada terminal keluar dan membangunnya kembali menggunakansource <file_name>
setiap waktu. Kesalahan adalah menempatkan path (GOPATH
danGOBIN
) dalam~/.bash_profile
folder. Setelah membuang beberapa jam baik, saya menemukan bahwa solusi adalah untuk menempatkanGOPATH
danGOBIN
di~/.bash_rc
berkas dengan cara yang:dan melakukannya, instalasi go bekerja dengan baik dan tidak ada kerugian jalur.
EDIT 1: Alasan terkait masalah ini adalah pengaturan untuk shell non-login seperti terminal ubuntu atau terminal gnome tempat kita menjalankan kode go diambil dari
~./bash_rc
file dan pengaturan untuk shell login diambil dari~/.bash_profile
file, dan dari~/.profile
file jika~/.bash_profile
file tidak dapat dijangkau.sumber
Katakanlah Anda menjalankan MacOS dan Anda memiliki biner yang Anda percaya dan ingin membuatnya tersedia di seluruh sistem Anda, tetapi tidak perlu menginginkan direktori tempat biner ditambahkan ke PATH Anda, Anda dapat memilih untuk menyalin / memindahkan biner ke
/usr/local/bin
, yang seharusnya sudah ada di PATH Anda. Ini akan membuat biner dapat dieksekusi seperti biner lain yang mungkin sudah Anda akses di terminal Anda.sumber
Itu dapat langsung ditambahkan dengan menggunakan perintah berikut:
sumber
bash
, sehingga tidak terlalu membantu.cara sederhana terbaik adalah baris berikut:
PATH="<directory you want to include>:$PATH"
di file .bashrc Anda di direktori home.
Ini tidak akan diatur ulang bahkan jika Anda menutup terminal atau reboot PC Anda. Ini permanen
sumber
Saya pikir cara yang paling elegan adalah:
1. tambahkan ini di file ~. / Bashrc
2.sumber ~ / .bashrc
(Ubuntu)
sumber
salah satu cara untuk menambahkan jalur permanen, yang berfungsi untuk saya, adalah:
restart komputer Anda dan di sini kita pergi jalan akan bersorak secara permanen.
sumber
Untuk distribusi debian, Anda harus:
sumber
Ini satu garis . Ini menambahkan garis ke
.bashrc
. Baris ini akan memeriksa apakah direktori telah ditambahkan ke path dan menambahkan jika tidak. Ini akan mencegah duplikasi direktori Anda di jalur setiap kali Anda sumber.bashrc
.sumber