Bagaimana cara menambahkan direktori ke $PATH
dalam Ubuntu dan membuat perubahan itu permanen?
environment-variables
justingrif
sumber
sumber
Jawaban:
Menggunakan ~ / .profile untuk menetapkan $ PATH
Jalur yang disetel
.bash_profile
hanya akan ditetapkan dalam shell login bash (bash -l
). Jika Anda meletakkan path Anda di.profile
dalamnya, akan tersedia untuk sesi desktop lengkap Anda. Itu berarti bahkan keberanian akan menggunakannya.Sebagai contoh
~/.profile
:Btw, Anda dapat memeriksa variabel PATH dari suatu proses dengan melihat lingkungannya di
/proc/[pid]/environ
(ganti [pid] dengan nomor darips axf
). Misal pakaigrep -z "^PATH" /proc/[pid]/environ
catatan:
bash
sebagai shell login tidak diuraikan.profile
jika ada.bash_profile
atau.bash_login
ada. Dariman bash
:Lihat jawaban di bawah ini untuk informasi tentang
.pam_environment
, atau.bashrc
untuk shell non-login interaktif, atau tetapkan nilai secara global untuk semua pengguna dengan memasukkan skrip ke dalam/etc/profile.d/
atau gunakan/etc/X11/Xsession.d/
untuk memengaruhi sesi manajer tampilan.sumber
PATH="$HOME/bin:$PATH"
Jadi saya menambahkannya?Edit
.bashrc
di direktori home Anda dan tambahkan baris berikut:Anda harus mengambil
.bashrc
atau logout / login (atau me-restart terminal) Anda agar perubahan diterapkan. Untuk sumber Anda.bashrc
, cukup ketiksumber
.bashrc
"? Bagaimana Anda "me-restart terminal"?.bashrc
bukan tempat yang tepat untuk mengatur variabel lingkungan. Mereka harus masuk.profile
atau.pam_environment
. Lihat mywiki.wooledge.org/DotFiles. .bashrc
tidak.bashrc
:) atausource .bashrc
dalam hal iniTempat yang disarankan untuk mendefinisikan variabel lingkungan permanen, sistem-lebar yang berlaku untuk semua pengguna adalah di:
(Di situlah default
PATH
didefinisikan)Ini akan bekerja di desktop atau konsol, gnome-terminal atau TTY, hujan atau cerah;)
Untuk mengedit, tekan Alt+ F2dan ketik:
(atau buka file menggunakan
sudo
editor teks favorit Anda)Untuk melakukan perubahan, jalankan
. /etc/environment
. Karena file ini hanya sebuah skrip sederhana, ia akan berjalan dan menetapkan path baru kePATH
variabel lingkungan. Untuk memeriksa jalankan env dan lihatPATH
nilai dalam daftar.Terkait:
sumber
source /etc/environment
untuk memuat ulang perubahanSaya pikir cara kanonik di Ubuntu adalah:
buat file baru di bawah
/etc/profile.d/
tambahkan di sana:
dan berikan izin eksekusi
sumber
Untuk pemula baru (seperti saya) yang lebih nyaman dengan GUI:
$HOME
folder Anda ..profile
dan klik Open With Text Editor .PATH="$PATH:/my/path/foo"
..profile
).sumber
$PATH:
bit yang termasuk definisi PATH yang adaUntuk variabel lingkungan persisten hanya tersedia untuk pengguna tertentu. Saya sangat merekomendasikan dokumentasi resmi Ubuntu.
https://help.ubuntu.com/community/EnvironmentVariables
Mengacu pada dokumentasi di atas, saya telah menyiapkan perangkat jalur SDK Android saya dengan:
~/.pam_environment
file di direktori home.PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
.sumber
Masukkan baris itu di
~/.bashrc
file Anda .Itu bersumber setiap kali Anda membuka terminal
EDIT : Berdasarkan komentar di bawah ini, untuk pengaturan yang lebih umum yang akan berlaku untuk semua shell (termasuk ketika Anda menekan Alt- F2di Unity), tambahkan baris ke
~/.profile
file Anda . Mungkin sebaiknya tidak melakukan keduanya, karena jalur akan ditambahkan dua kali kePATH
lingkungan Anda jika Anda membuka terminal.sumber
$HOME/.profile
untuk pengaturan pribadi, atau/etc/profile
untuk semua pengguna. Tetapi jika itu hanya diperlukan untuk bash, saya kira keduanya akan bekerja.~/.bashrc
, itu hanya akan tersedia di terminal yang Anda buka. Misalnya jika Anda menekan Alt + F2 dan mencoba menjalankan perintah dari dir itu, ia tidak akan menemukannya. Jika Anda mengaturnya di~/.profile
atau~/.pam_environment
, sesi gnome (atau DE mana pun yang Anda gunakan) akan mewarisinya. Menambahkan PATH di~/.bashrc
juga memiliki kelemahan bahwa jika Anda membuka / exec bash secara interaktif dari shell bash interaktif lain, itu akan ditambahkan beberapa kali.~/.profile
itu benar untuk jalur pribadi; di situlah Ubuntu menambahkan~/bin
direktori. Dan saya akui saya sedikit melebih-lebihkan dalam beberapa hal - hanya sedikit.~/.profile
dalam kasus ini juga.Untuk mengaturnya menjadi sistem lebar, tambahkan baris
export PATH=/path/you're/adding:$PATH
ke akhir/etc/profile
.Untuk menambahkan direktori hanya untuk pengguna yang masuk, tambahkan baris yang sama ke
~/.bash_profile
.sumber
Menambahkannya ke .bashrc akan berfungsi tetapi saya pikir cara yang lebih tradisional untuk mengatur variabel path Anda ada di .bash_profile dengan menambahkan baris berikut.
Menurut utas ini, tampaknya perilaku Ubuntu sedikit berbeda dari RedHat dan klon.
sumber
.bashrc
, tempelkan.bashrc
saja. Terminal GUI di Ubuntu bukan shell login, jadi.bash_profile
tidak akan dijalankan..bash_profile
. Jika bash tidak menemukan.bash_profile
(ketika Anda masuk secara interaktif), itu akan mencari.profile
dan menggunakannya. Secara default, Anda akan memiliki.profile
dan.bashrc
di Ubuntu. Dan.profile
adalah tempat yang tepat untuk mengatur variabel lingkungan jika kita mengabaikan pam_env.Di terminal,
cd
kethe_directory_you_want_to_add_in_the_path
Ini bukan ideku. Saya menemukan cara ini untuk mengekspor jalur di blog ini di sini .
sumber
tambahkan di sana
sumber
sudo nano /etc/profile.d/SCRIPT_NAME.sh
lebih mudah untuk pemula.gksu gedit /etc/profile.d/SCRIPT_NAME.sh
bahkan lebih mudah.Setiap kali saya "menginstal" folder skrip BASH saya, saya mengikuti pola tes untuk
$HOME/bin
folder yang ada di sebagian besar file profil. Dalam versi terbaru dari Ubuntu. Saya menetapkan tes yang terlihat sepertiIni berfungsi hampir 100% dari waktu, dan membuat saya bebas untuk mengubahnya dalam editor teks GUI dengan "Ganti semua" cepat jika saya pernah memutuskan untuk pindah ke
/scripts
suatu tempat lebih dekat ke$HOME
folder saya . Saya belum melakukannya di 6 instalasi Ubuntu, tetapi "selalu ada besok." SBZT
sumber
Cara yang disarankan untuk mengedit Anda
PATH
adalah dari/etc/environment
fileContoh output dari
/etc/environment
:Misalnya, untuk menambahkan jalur baru
/home/username/mydir
Kemudian, reboot PC Anda.
Info lebih lanjut dapat ditemukan di sini: EnvironmentVariables
sumber
Buka terminal Anda, ketik
gedit .profile
dan masukkan yang berikut ini:Tutup dan buka terminal, itu seharusnya berfungsi.
sumber
Letakkan di
~/.bashrc
atau di mana Anda menggunakan rc (atau sebelumnya~/.profile
) DAN~/.xsessionrc
demikian juga akan bekerja di X (shell luar).sumber
Bahkan jika skrip sistem tidak menggunakan ini, dalam setiap kasus yang orang ingin menambahkan path (misalnya,
$HOME/bin
) ke variabel lingkungan PATH, kita harus menggunakanuntuk menambahkan (bukan
PATH="$PATH:$HOME/bin"
), danuntuk prepending (bukan
PATH="$HOME/bin:$PATH"
).Ini untuk menghindari kolon leading / trailing palsu ketika
$PATH
awalnya kosong, yang dapat memiliki efek yang tidak diinginkan.Lihat misalnya https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset
sumber
Untuk Ubuntu, edit
~/.bashrc
dan tambahkan baris berikut.. ~/.bash_profile
Kemudian edit .bash_profile Anda sesuai kebutuhan .....
sumber
.bash_profile
seperlunya". Apa sebenarnya yang harus saya lakukan untuk.bash_profile
?.profile
atau.bash_profile
harus sumber.bashrc
. Bukan sebaliknya.