$PATH
Ubuntu'da bir dizini nasıl eklerim ve değişiklikleri kalıcı hale getiririm?
$PATH
Ubuntu'da bir dizini nasıl eklerim ve değişiklikleri kalıcı hale getiririm?
Yanıtlar:
Ayarlanan bir yol .bash_profile
sadece bir bash giriş kabuğuna ( bash -l
) ayarlanır . Yolunuza koyarsanız, .profile
masaüstü oturumunuzun tamamı için geçerli olacaktır. Bu, metasitenin bile kullanacağı anlamına gelir.
Örneğin ~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
BTT, bir sürecin PATH değişkenini ortamına bakarak kontrol edebilirsiniz /proc/[pid]/environ
([pid] ile sayıyı değiştirin ps axf
). Örneğin kullanımgrep -z "^PATH" /proc/[pid]/environ
bash
Giriş kabuğu ayrıştırmak olmadığı için .profile
ya eğer .bash_profile
ya .bash_login
yoktur. Kimden man bash
:
~ / .bash_profile, ~ / .bash_login ve ~ / .profile öğelerini bu sırada arar ve var olan ve okunabilen ilk komutları okur ve yürütür.
Bkz aşağıda cevapları hakkında bilgi almak için .pam_environment
, ya da .bashrc
interaktif olmayan giriş kabukları için veya içine bir script koyarak tüm kullanıcılar için küresel değeri /etc/profile.d/
veya kullanım /etc/X11/Xsession.d/
ekran yöneticileri oturumu etkileyecek.
PATH="$HOME/bin:$PATH"
eklemeliyim ... Yani ekledim mi?
Edit .bashrc
ev dizininde ve aşağıdaki satırı ekleyin:
export PATH="/path/to/dir:$PATH"
.bashrc
Değişikliklerin geçerli olması için oturum açmanız / oturumu kapatmanız / oturum açmanız (veya terminali yeniden başlatmanız) gerekir. Kaynak bulmak için .bashrc
, sadece yazın
$ source ~/.bashrc
.bashrc
? "Terminali yeniden başlat" nasıl?
.bashrc
ortam değişkenlerini ayarlamak için doğru yer değil. İçeri girmeli .profile
ya da gitmeli .pam_environment
. Bkz mywiki.wooledge.org/DotFiles
. .bashrc
değil .bashrc
:) veya source .bashrc
bu konuda
Tüm kullanıcılara uygulanan kalıcı, sistem genelinde ortam değişkenlerini tanımlamak için önerilen yer şuradadır :
/etc/environment
(varsayılanın PATH
tanımlandığı yerdir )
Bu masaüstü veya konsolda, GNOME terminalinde veya TTY'de çalışacak, yağmur veya parlayacak;)
Düzenlemek için Alt+ tuşlarına basın F2ve şunu yazın:
gksudo gedit /etc/environment
(veya sudo
en sevdiğiniz metin düzenleyicide kullanarak dosyayı açın )
Değişiklikleri yapmak için, koş . /etc/environment
. Bu dosya sadece basit bir betik olduğundan, çalışacak ve yeni yolu PATH
çevre değişkenine atayacaktır . Run env dosyasını kontrol etmek ve PATH
listedeki değeri görmek için .
İlgili:
source /etc/environment
değişiklikleri yeniden
Bence Ubuntu'daki kanonik yol şudur:
altında yeni bir dosya oluştur /etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
orada ekle:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
ve yürütmesine izin ver
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
GUI ile daha konforlu olan yeni başlayanlar için (benim gibi):
$HOME
Klasörünü aç ..profile
ve Metin Düzenleyiciyle Aç seçeneğine tıklayın .PATH="$PATH:/my/path/foo"
..profile
).$PATH:
mevcut YOLU tanımını içeren bit
Yalnızca belirli kullanıcılar tarafından kullanılabilen kalıcı ortam değişkenleri için. Ubuntu resmi belgelerini tavsiye ederim.
https://help.ubuntu.com/community/EnvironmentVariables
Yukarıdaki belgelere bakıldığında, Android SDK yol araçlarımı şu şekilde ayarlarım :
~/.pam_environment
Ana dizinde dosya oluşturma .PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
.~/.bashrc
Dosyanın içine bu satırı koyun .
Bir terminal açtığınızda kaynaklı olur
DÜZENLEME : (Eğer vurduğunda dahil tüm kabuklar için geçerli olacak daha genel bir ayar için aşağıdaki yorum dayanarak Alt- F2Unity), senin için satırı ekleyin ~/.profile
dosyası. Muhtemelen her ikisini de yapmamalısınız, çünkü PATH
bir terminal açarsanız ortamınız için yol iki kez eklenecektir .
$HOME/.profile
kişisel ayarlar /etc/profile
için veya tüm kullanıcılar için ayarladığınızı sanıyordum . Ama sadece bash için gerekliyse, her ikisinin de işe yarayacağını düşünüyorum.
~/.bashrc
, yalnızca açtığınız terminallerde kullanılabilir. Örneğin, Alt + F2'ye basıp o dizinden bir komut çalıştırmayı denerseniz, onu bulamaz. Eğer bunu ayarlarsanız ~/.profile
veya ~/.pam_environment
gnome oturumu (veya hangisi DE kullandığınız) bunu devralır. PATH eklenmesi ~/.bashrc
de, bash'ı etkileşimli bir etkileşimli bash kabuğundan etkileşimli olarak açarsanız / çalıştırırsanız, birkaç kez ekleneceği dezavantajı vardır.
~/.profile
kişisel yollar için doğru; Ubuntu'nun ~/bin
dizini eklediği yer burasıdır . Ve itiraf ediyorum, birkaç şekilde abarttığımı itiraf ediyorum - sadece biraz.
~/.profile
de bu davayla giderdim .
Geniş bunu sistemini ayarlamak için satır eklemek export PATH=/path/you're/adding:$PATH
sonuna /etc/profile
.
Yalnızca oturum açan kullanıcının dizinini eklemek için aynı satırı da ekleyin ~/.bash_profile
.
.Bashrc 'ye eklemek işe yarayacaktır, ancak yol değişkenlerinizi ayarlamanın daha geleneksel yolunun aşağıdaki satırları ekleyerek .bash_profile olduğunu düşünüyorum.
PATH=$PATH:/my/path/foo
export PATH
Bu konuya göre Ubuntu'nun davranışı RedHat ve klonlardan biraz farklı görünüyor.
.bashrc
, onun .bashrc
yerine yapıştırın . Ubuntu'daki GUI terminalleri giriş kabukları değildir, bu nedenle .bash_profile
çalıştırılmayacaktır.
.bash_profile
. Bash bir tane bulamazsa .bash_profile
(etkileşimli olarak oturum açtığınızda), bunun .profile
yerine onu arar ve kullanır. Varsayılan olarak, a .profile
ve .bashrc
Ubuntu'da olacaksınız . Ve .profile
biz pam_env dikkat edilmediğinde ortam değişkenleri ayarlamak için doğru yerdir.
sudo vi /etc/profile.d/SCRIPT_NAME.sh
oraya ekle
export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
sudo nano /etc/profile.d/SCRIPT_NAME.sh
yeni başlayanlar için daha kolaydır.
gksu gedit /etc/profile.d/SCRIPT_NAME.sh
için daha kolaydır.
BASH komut dosyalarımın klasörünü "kurduğumda" $HOME/bin
, Ubuntu'nun son sürümlerinde çoğu .profile dosyasındaki bir klasör için yapılan testin modelini izlerim. Benzeyen bir test ayarladım
if [ -d "/usr/scripts" ]; then
PATH="/usr/scripts:$PATH"
fi
Zamanın sadece% 100'ünü kullanıyor ve bir GUI metin editöründe hızlı bir "Tümünü Değiştir" ile değiştirmeme izin vermiyor, klasörüme /scripts
yakın bir yere gitmeye karar vermeliyim $HOME
. Bunu 6 Ubuntu kurulumunda yapmadım, fakat “her zaman yarın” var. S
BZT
Senin düzenlemek için önerilen yol PATH
dan /etc/environment
dosyası
Örnek çıktı /etc/environment
:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Örneğin, yeni yolunu eklemek için /home/username/mydir
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
Ardından, bilgisayarınızı yeniden başlatın.
Sistem genelinde çevre değişkenleri
Sistemi bir bütün olarak etkileyen ortam değişken ayarları için uygun bir dosya (sadece belirli bir kullanıcı yerine) / etc / ortam. Bir alternatif, /etc/profile.d dizinindeki amaç için bir dosya oluşturmaktır.
/ Etc / çevre
Bu dosya özellikle sistem çapında ortam değişken ayarları içindir. Bir komut dosyası değil, her satırda bir tane olmak üzere atama ifadelerinden oluşur.
Not: Değişken genişleme / etc / ortamda çalışmaz.
Daha fazla bilgi burada bulunabilir: EnvironmentVariables
Terminalinizi açın gedit .profile
, aşağıdakini yazın ve yerleştirin:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
#the following line add Bin where you dont have a Bin folder on your $HOME
PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"
Kapatın ve terminali açın, çalışıyor olmalı.
Sistem komut dosyaları bunu kullanmasa bile $HOME/bin
, birinin PATH ortam değişkenine yol (örn. ) Eklemek istediği durumlarda kullanması gerekir.
PATH="${PATH:+${PATH}:}$HOME/bin"
eklemek için (yerine PATH="$PATH:$HOME/bin"
) ve
PATH="$HOME/bin${PATH:+:${PATH}}"
hazırlamak için (yerine PATH="$HOME/bin:$PATH"
).
Bu $PATH
, başlangıçta boşken istenmeyen etkilere yol açabilen sahte ön / arka kolondan kaçınır .
Bakınız örneğin https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating- leading- colon- if- unset
Ubuntu ~/.bashrc
için aşağıdaki satırı düzenleyin ve ekleyin.
. ~/.bash_profile
Sonra .bash_profile dosyanızı istediğiniz gibi düzenleyin .....
.bash_profile
ihtiyaç duyduğunuz şekilde düzenlemenizi" açıklamıyordunuz . Tam olarak ne yapmam gerekiyor .bash_profile
?
.profile
veya .bash_profile
kaynak olmalıdır .bashrc
. Diğer yoldan değil.