PATH
Envvar ayarlamak için tercih edilen yer neresidir?
~/.profile
ya /etc/environment
?
PATH
Her iki yerde de ayarlandığı zaman durum nedir ? Son sonuç, bu iki yerde ayarlanan her iki değerin bir birleşimi midir?
PATH
Envvar ayarlamak için tercih edilen yer neresidir?
~/.profile
ya /etc/environment
?
PATH
Her iki yerde de ayarlandığı zaman durum nedir ? Son sonuç, bu iki yerde ayarlanan her iki değerin bir birleşimi midir?
Yanıtlar:
Özet:
Değişkeninize yalnızca geçerli kullanıcı için değil, bilgisayarınızın tüm kullanıcıları için bir yol (örn. /your/additional/path
) Eklemek istiyorsanız PATH
, normal ~/.profile
olarak bu iki örnekten birinde benzerinin sonuna koyarsınız :
PATH="/your/additional/path:$PATH"
PATH="$PATH:/your/additional/path"
Yol öncelikleri soldan sağa doğru iniyor, bu nedenle ilk yol en yüksek önceliğe sahip. Yolunuzu soluna eklerseniz $PATH
, en yüksek önceliğe sahip olur ve bu konumdaki yürütülebilir dosyalar diğerlerini geçersiz kılar. Yolunuzu sağa eklerseniz, en düşük önceliğe sahip olacak ve diğer konumlardan çalıştırılabilirler tercih edilecektir.
Ancak, bu ortam değişkenini tüm kullanıcılar için ayarlamanız gerekirse, yine de dokunmayı /etc/environment
değil, .sh
içinde biten bir dosya adı olan bir dosya oluşturmanızı tavsiye ederim /etc/profile.d/
. /etc/profile
Senaryo ve tüm komut /etc/profile.d
her kullanıcının kişisel küresel eşdeğerdir ~/.profile
ve bunların başlatma sırasında tüm kabukları tarafından düzenli kabuk komut olarak yürütülür.
Daha fazla detay:
/etc/environment
sistem genelinde bir yapılandırma dosyasıdır, yani tüm kullanıcılar tarafından kullanılır. Ancak, sahibi root
bir yönetici kullanıcı olmanız ve sudo
değiştirmek için kullanmanız gerekir.
~/.profile
kendi kullanıcının kişisel kabuk başlatma komut dosyalarından biridir. Her kullanıcı bir taneye sahiptir ve başkalarını etkilemeden dosyalarını düzenleyebilir.
/etc/profile
ve her kullanıcı için /etc/profile.d/*.sh
eşdeğer olan genel başlatma komut dosyalarıdır ~/.profile
. Genel komut dosyaları, kullanıcıya özel komut dosyalarından önce çalıştırılır; ve ana, /etc/profile
tüm *.sh
komut dosyalarını /etc/profile.d/
çıkmadan hemen önce çalıştırır .
/etc/environment
Dosya normalde sadece bu satırı içerir:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
PATH
Sistemdeki tüm kullanıcılar için değişkeni, büyük bir şekilde değiştirilmemesi gereken bu varsayılan değere ayarlar . En azından gibi önemli yolların herhangi kaldırmak olmamalı /bin
, /sbin
, /usr/bin
ve /usr/sbin
ondan.
Bu dosya, her kullanıcının her kabuğu tarafından ilk yapılandırma dosyalarından biri olarak okunur. Bunun bir kabuk betiği olmadığını unutmayın . Sadece bir şekilde ayrıştırılan ve yalnızca ortam değişkeni atamaları içerebilen bir yapılandırma dosyasıdır!
~/.profile
Dosya bir olsun diğer şeyler arasında bir çek içeren varsayılan olarak, birçok şeyi içerebilir ~/bin
dizini mevcut ve kullanıcının mevcut bu ekler PATH
(Ubuntu 16.04 öncesinde serbest bırakır yaşlı üzerinde - yeni bültenleri koşulsuz ekleyin) bu gibi değişken:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
PATH
Burada eski değerinin yeniden kullanıldığını ve yeni yolun her şeyin üzerine yazmak yerine yalnızca başlangıcına eklendiğini görüyorsunuz . Manuel olarak yeni yollar eklemek istediğinizde, eski $PATH
değeri her zaman yeni dizede bir yerde tutmalısınız .
Bu başlatma betiği yalnızca ait olduğu kullanıcının kabukları tarafından okunur, ancak başka bir koşul vardır:
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
Bu nedenle, varsayılan Bash kabuğunu kullanıyorsanız, sahip olmadığınızdan ~/.bash_profile
veya ~/.bash_login
değişikliklerin ~/.profile
kullanıcı için bir etkisi olmasını istediğinizden emin olmalısınız .
Çevre Değişkenlerini tam olarak anlamak için bkz: https://help.ubuntu.com/community/EnvironmentVariables
İlgili soru: bash.bashrc ve / etc / environment dosyası arasındaki fark
~/.profile
varlığını kontrol etmiyor ~/bin
, ama sadece şu çizgiye sahip:PATH="$HOME/bin:$HOME/.local/bin:$PATH"
/etc/skel/.profile
16.04'te bahsettiğim çizgi var. Görünüşe göre kullanıcınızı önceki bir sürümde yarattınız.
~/.profile
, ama haklısınız - /etc/skel/.profile
yükseltilmiş 16.04 sistemimde (ve 16.04'ü yüklerken oluşturulmuş bir kullanıcı hesabı) yok başka bir makine onların içinde yok .profile
).
Bu cevap esas olarak , farklı yapılandırma dosyalarında belirtildiğinde, ortam değişkenleri gibi
PATH
atanan sıra ile ilgilidir . Bunları genellikle nerede ayarlayacağınızı da kapsarım, ancak aşağıdaki liste dosyaları kullanmayı düşünmeniz gereken sırayla listelemez.PATH
Ubuntu'da ayar ve diğer ortam değişkenleri hakkında genel bilgi için , EnvironmentVariables ve bu soruya verilen diğer cevapları da okumanızı tavsiye ederim .
Ayarlanacak tercih edilen yer PATH
, hangi kullanıcıları ayarlamanız gerektiğine ve ne zaman ve nasıl ayarlanmasını istediğinize bağlıdır. Kararınızın bir kısmı, tüm kullanıcılar için mi yoksa her kullanıcı için mi ayarlanmış bir ortam değişkeni istediğinizi isteyecektir. Emin değilseniz, sistem genelinde değil, yalnızca bir kullanıcı (ör. Hesabınız) için ayarlamanızı öneririm.
As AlexP diyor , PATH
ortam değişkeni o değer olacaktır En son atanan . Uygulamada, çoğu ayarladığınız zaman PATH
, eklemek eski değerini PATH
önceki girişler kalır, böylece yeni bir değer.
Bu nedenle, pratikte, PATH
birden fazla dosyadan ayarlandığında, genellikle tüm dosyalarda verilen girişleri içerir. Ancak bu yalnızca, onu ayarlayan tüm dosyalar, ilk dışında, genellikle PATH
değişkenin kendisine referans vererek eski değerinin yenisine eklenmesine neden olması nedeniyle gerçekleşir.
Bu nedenle, PATH
çeşitli dosyalardaki ayarların geçerli olacağı sırayı soruyorsunuz .
Ayarlanacak genel, genel amaçlı yerler PATH
, bir kullanıcı oturum açtığında, genellikle kullanmayı düşünmeniz gereken sırayla değil , geçerli oldukları sıraya göre aşağıda listelenmiştir . Aşağıda listelenen yerlerin her biri, bazı durumlarda ayar PATH
yapmak için makul bir seçimdir , ancak yalnızca birkaçı çoğu zaman iyi seçimlerdir.
Aşağıdaki listede, gibi bazı dizin isimleri göreceksiniz ~/.profile
. Eğer bilginiz durumda yaklaşık yorumlaması genişleme , ~/
cari kullanıcının ev dizini ifade eder. Genel olarak bu sözdizimini kompaktlık için kullanıyorum. Bu ancak, kabuk komut dosyalarında desteklenir değil PAM yapılandırma dosyalarında.
/etc/environment
Ubuntu'daki PAM , listelenen ortam değişkenlerinin /etc/environment
, eğer varsa, varsayılan olarak yaptığı gibi ayarlanmasına neden olur . Tüm kullanıcılar için ortam değişkenleri en yaygın şekilde ayarlanır.
$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Yalnızca kullanıcı hesabınız yerine tüm kullanıcı hesapları için ortam değişkenleri ayarlamanız gerekiyorsa , bu dosyayı değiştirmek muhtemelen en iyi seçimdir. Önce yedeklemenizi öneririm. Bu dosyayı yedeklemek için bir yol çalıştırmaktır:
sudo cp /etc/environment /etc/environment.orig
.orig
Eğer kafa karıştırıcı ya da zaten kullanılıyor değil yedekleme dosyası şey adlandırma hakkında iyi hissedebilirsiniz - uzantının özellikle gerekli değildir. (Bunun yanı sıra .orig
, .old
, .backup
ve .bak
yaygındır.)
Sen (Kök kullanıcı olarak herhangi bir başka dosyayı düzenlemek olabilecek yollardan herhangi bu dosyayı düzenleyebilirsiniz sudoedit /etc/enviromnment
, sudo nano -w /etc/environment
, gksudo gedit /etc/environment
vs.)
/etc/environment
otomatik olarak bir değişkenin eski değerinin dahil edilmesini desteklemez. Ancak bu genellikle gereksizdir, çünkü tüm kullanıcılar için bir ortam değişkenini düzenleyerek ayarlayacağınız /etc/environment
zaman, kullanıcı yine de oturum açtığında bunun başlangıç değeri olmasını istersiniz. Kullanıcı daha sonra istediği gibi değiştirebilir. Genellikle kullanıcıların bunu yapabilmesi iyi olur.
/etc/security/pam_env.conf
PAM /etc/security/pam_env.conf
, kullanıcı başına ~/.pam_environment
dosyalarda kullanılanla aynı sözdizimiyle belirtilen tüm kullanıcılar için ortam değişkenlerini okur (aşağıya bakın).
Aynı ortam değişkeni her ikisinde de ayarlandığında /etc/environment
ve /etc/security/pam_env.conf
içindeki değer pam_env.conf
kullanılır - bu değer DEFAULT
yerine belirtilmiş olsa bile OVERRIDE
.
Eğer bir çizgi yerini Ancak, environment
içinde biri ile pam_env.conf
, sen yerini değerin içeriğini içerebilir. Ayrıntılar için aşağıdaki bölüme bakın .pam_environment
(aynı sözdizimini kullandığından).
Bu düzenlemek için genellikle gerekli değildir pam_env.conf
ve sen bunu yaparsanız çok dikkatli olmalı , bir yana hatalı biçimlendirilmiş genellikle hiç giriş yapmalarını tüm normal kullanıcı hesaplarını önleyecektir hattı! Örneğin, varsayılan pam_env.conf
satırları içerir:
#PATH DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
#:/usr/bin:/usr/local/bin/X11:/usr/bin/X11
Bu birkaç örnekten biri olarak sunulmaktadır. Gösterdiği şeylerden biri, bir ödevi birden çok satıra nasıl böleceğinizdir \
. Diyelim ki sadece ilk satırdakileri uncomment edecektiniz, ancak ikinci satırdakileri de unuttunuz:
PATH DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
#:/usr/bin:/usr/local/bin/X11:/usr/bin/X11
Bunu yapma!
Ben sadece kendimi tesadüfen test ettim ve kullanıcıların giriş yapmasını engelledim. Düzeltmek için kurtarma modunda önyükleme yapıp tekrar değiştirmek zorunda kaldım. (Neyse ki bunu sadece test etmek için kullandığım sanal bir makinede yaptım, bu yüzden herhangi bir sıkıntıya neden olmadı.)
.pam_environment
kullanıcının giriş dizinindeTek bir kullanıcı için bir ortam değişkeni ayarlama yollarından biri, o kullanıcının .pam_environment
ana dizininde düzenleme yapması (veya oluşturması) . Bu dosyada ayarlanan değerler genel /etc/environment
dosyada ayarlananların yerine geçer .
.pam_environment
Kullanıcı hesabı başlangıçta oluşturulduğunda, kullanıcının ana klasörüne kopyalanan dosya iskeletinin bir parçası değildir. Ancak, bu dosyayı giriş dizininizde oluşturursanız, ortam değişkenlerini ayarlamak için kullanabilirsiniz PATH
. Aksine /etc/environment
(ancak benzeri /etc/security/pam_env.conf
), kullanıcı başına .pam_environment
dosyalar, bir ortam değişkeninin eski değerini yenisine genişletmeyi destekler. Bununla birlikte, bunlar kabuk komut dosyaları değildir ve bunu elde etmek için özel bir sözdizimi kullanmanız gerekir; bu, bir dosyada kullanacağınız sözdiziminden biraz farklıdır .profile
.
Örneğin, bin2
ana dizininizin sonuna eklemek istediğiniz bir dizini varsa PATH
, bu satırı ekleyerek bunu yapabilirsiniz .pam_environment
:
PATH DEFAULT=${PATH}:/home/@{PAM_USER}/bin2
Bkz alt bölümüne ait EnvironmentVariables (Yukarıdaki örnek yakından adapte edildiği), ve daha fazla ayrıntı için.~/.pam_environment
man pam_env
man pam_env.conf
Bu, bir zamanlar Ubuntu kullanıcılarının çevre değişkenlerini değiştirmesi veya eklemesi için tercih edilen bir yol olduğu ve yine de makul ve kabul edilebilir bir seçenek olduğu düşünülse de, düzenleme yaparken dikkatli olmalısınız.pam_environment
. Sistem genelindeki düzenlemeler gibi /etc/security/pam_env.conf
(yukarıya bakın), bir kullanıcı .pam_environment
dosyasındaki hatalı biçimlendirilmiş bir satır, girişlerin başarılı olmasını önler. (Bu test ettik -. Bilerek bu sefer) hakkında bilgi için tavsiyeler var gelişti , bkz Gunnar Hjalmarsson 'ın yorumları aşağıda ve bu ubuntu-devel
tartışma .
Böyle bir hata genel olarak hatalı biçimlendirilmiş bir çizgiden çok daha az ciddidir pam_env.conf
, çünkü yalnızca bir kullanıcıyı etkiler. Ancak, oturum açma işlemine izin veren yalnızca bir kullanıcı hesabına sahip bir masaüstü Ubuntu sistemi söz konusu olduğunda, düzenleme sırasında yapılan bir hata, bir hata düzenleme .pam_environment
kadar kötü olacaktır pam_env.conf
- daha önce giriş yapmamışsanız, yapamazsınız. Kurtarma modunda önyükleme yapmadan düzeltmek için (veya canlı bir USB'den vb.).
(Başka kullanıcı hesabınız varsa, başka bir kullanıcı olarak giriş yapabilir ve sorunu çözebilirsiniz. Yönetici olmasalar ve sudo
root yapamazlarsa bile, hala çalışabilir ve şifrenizi girmeniz istenebilir . konuk o kullanması yasaktır gibi hesap Ancak, bunu yapamaz başka bir kullanıcının kimliğini almak.)su your-account
su
/etc/profile
ve içindeki dosyalar/etc/profile.d/
Bourne uyumlu kabuklar ( bash
Ubuntu'daki varsayılan kullanıcı kabuğu dahil) , /etc/profile
bir giriş kabuğu olarak çağrıldığında komutları çalıştırır .
Ubuntu /etc/profile.d
sona erdi:
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
Bu, /etc/profile.d/
dizinin adında biten herhangi bir dosyadaki komutların .sh
da çalıştırılmasını sağlar.
Çoğu ekran yöneticisi, içerisindeki komutların /etc/profile
(ve böylece dosyaların /etc/profile.d
) grafik oturumlar için de çalıştırılmasına neden olur. Bununla birlikte, herkes bunu yapmaz ve bu, PAM tarafından sağlanan tesisleri kullanmak yerine lehine kayda değer bir argümandır (yukarıya bakın) - bu sisteme hiçbir grafiksel giriş yapılmazsa, örneğin, durum böyle olabilir. GUI kurulu olmayan bir sunucu.
Sistem genelinde çevre değişkenlerini ayarlamak geleneksel bir /etc/profile
durumdur, ancak bu artık en iyi seçenek değildir. Bir ortam değişkenini /etc/environment
ayarlayamazsanız ve bunu tüm kullanıcılar için ayarlamanız gerekiyorsa, yeni bir dosya oluşturmak, kendisini /etc/profile.d/
düzenlemek yerine büyük olasılıkla daha iyidir /etc/profile
. Bunun bir nedeni, Ubuntu yükseltildiğinde, yeni bir varsayılan /etc/profile
dosya olabilir. Güncellemeyi nasıl yaptığınıza bağlı olarak, eski dosya (değişikliklerinizle birlikte), belirli bir güncellenmiş konfigürasyon dosyasından önce tutulur veya durumu ele almanız istenir.
Aynı ortam değişkeni hem içinde hem de /etc/profile
bir veya daha fazla dosyada ayarlandığında, /etc/profile.d
en son hangisi yapılır? Bu, bu komuttaki komutların /etc/profile
, dosyaların alınmasından önce mi sonra mı geldiğine profile.d
(yukarıda alıntı yaptığım kodla) bağlıdır. Komutlar /etc/profile
göründükleri sıraya göre yürütülür.
/etc/profile
bir kabuk betiğidir ve sözdizimi yukarıda tartışılan PAM yapılandırma dosyalarıyla aynı değildir . Sözdizimi, kullanıcı başına ~/.profile
dosya için sözdizimi ile aynıdır (aşağıya bakınız).
Belirli bir dizini ekleyip eklememeye karar veren bir kod yazmanız gerekiyorsa PATH
(ve tüm kullanıcılar için bunu yaparsanız), bunu kullanamaz /etc/environment
veya /etc/security/pam_env.conf
yapamazsınız. Bu belki de kullanmanın daha iyi olduğu /etc/profile
ya da /etc/profile.d/
onun yerine ana durumdur .
.bash_profile
kullanıcının giriş dizinindeBir kullanıcı varsa ~/.bash_profile
, bash yerine ~/.profile
veya kullanır ~/.bash_login
(aşağıya bakınız). Genelde .bash_profile
ev dizininizde bir tane olmamalıdır .
Bunu yaparsanız, genellikle kaynak için bir komut içermesi gerekir ~/.profile
(örn . "$HOME/.profile"
.). Aksi takdirde, kullanıcı başına .profile
dosyanın içeriği hiç çalışmaz.
.bash_login
kullanıcının giriş dizinindeEğer bir kullanıcı varsa ~/.bash_login
, bash yerine bash kullanır ~/.profile
(aşağıya bakınız), ~/.bash_profile
mevcut değilse , bu durumda hiçbiri `/ / .bash_login'dan kaynaklanmadıkça kullanılmayacaktır.
Olduğu gibi .bash_profile
, genellikle .bash_login
ev dizininizde bir dosya olmamalıdır .
.profile
kullanıcının ana dizininde.Bir Bourne stili kabuk bir giriş kabuğu olarak çalıştırıldığında, komutları çalıştırır /etc/profile
(genellikle dosyalardaki komutların çalışmasına neden olan komutları içerir /etc/profile.d/
- yukarıya bakın). Bundan sonra .profile
, kullanıcının giriş dizinindeki komutları çalıştırır . Bu dosya her kullanıcı için ayrıdır. (Bash aslında ishal .bash_profile
veya .bash_login
onlar var yerine eğer -. Bir Ubuntu sisteminde kullanıcılar için, ancak, bu dosyalar nadiren veya mevcut yapmalıyım Ayrıntılar için yukarıya bakınız ve 6.2 Bash Başlatma Dosyalar içinde Bash kılavuzuna .)
~/.profile
Bu nedenle, kullanıcının oturum açtığında çalışan komutları vermesi için ana yerdir. Ayarlamanız için geleneksel bir yer PATH
ancak Ubuntu pam_env modülüne ve desteklerine sahip olduğundan ~/.pam_environment
, onu kullanmayı düşünmelisiniz.
Olduğu gibi /etc/profile
, tüm ekran yöneticileri bu dosyayı grafiksel girişler için çalıştırmaz, ancak çoğu yapar. Bu, ~/.pam_environment
ortam değişkenlerini ayarlamayı tercih etmenin bir nedenidir (birinin tercih edebileceği /etc/environment
kadar /etc/profile
).
Aşağıdakiler de dahil, çevre değişkenleri genişletebilirsiniz PATH
ayarladığınız zaman, kendisini PATH
de .pam_environment
(yukarıya bakınız). Bununla birlikte, PATH
daha sofistike bir şekilde ayarlama yapmanız gerekirse , .profile
bunun yerine kullanmak zorunda kalabilirsiniz . Özellikle, bir kullanıcı her oturum açtığında bir dizinin var olup olmadığını kontrol etmek ve yalnızca eklenmişse onu eklemek PATH
istiyorsanız, .pam_environment
o dizini eklemek için dosyanızı kullanamazsınız PATH
.
Örneğin, .profile
Ubuntu’daki varsayılan kullanıcı başına dosya şu şekilde kullanılır :
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Bkz Gunnar Hjalmarsson 'ın yorumunu üzerinde Byte Komutanın cevabı detayları için.
Bu bin
, ana dizininizin bir alt dizini olup olmadığını kontrol eder . Eğer öyleyse, bu alt dizininizi başına ekler PATH
.
Kullanıcılar oturum açtığında ortam değişkenlerinin, giriş türüne daha çok bağlı olarak ayarlanmasının başka yolları da vardır. Örneğin, bazen yalnızca grafiksel girişler için veya yalnızca SSH tabanlı uzaktan girişler için ayarlanan ortam değişkenlerine sahip olabilirsiniz. Yukarıdaki liste bu davaları kapsamamaktadır.
İnsanların bazen ortam değişkenlerini tanımladıkları birkaç dosya bıraktım, ~/.bashrc
ve gibi /etc/bash.bashrc
, çünkü genellikle ayarlanması önerilen yerler olmadığından PATH
ve bunları gerçekten bu amaç için kullanmanız nadirdir. Bu dosyaları dizin eklemek için kullanırsanız PATH
, o zaman bazen birçok kez eklenir ve incelendiğinde çok kafa karıştırıcı olur $PATH
. (Aşırı durumlarda, bu işleri yavaşlatabilir, ancak genellikle sadece her şeyi temiz ve anlaşılabilir tutma meselesidir.)
Yana bash
kullanıcılar için Ubuntu'nun varsayılan giriş kabuğu ve çoğu kullanıcı gibi diğer non-Bourne tarzı kabukları nasıl ayarlandığını ortam değişkenleri hakkında o ya da diğer bazı POSIX uyumlu kabuk, ben atlanmış bilgileri kullanacağız tcsh
.
/etc/environment
/ ~/.pam_environment
olarak tavsiye edilen dosyalar. Geliştiricilere danıştıktan sonra PAM ve / arasında nötr olacak şekilde değiştirdim ve hala bu şekilde bakma eğilimindeyim. /etc/profile.d/*.sh
~/.profile
/etc/profile.d/*.sh
/ Lehine yapılan önemli argümanlar ~/.profile
, sözdiziminin daha basit ve hata durumunda lightdm / gdm'nin affedilmiş olmasıdır (sözdizimi hataları bile oturum açmanızı engellemez, sadece uyarı mesajlarına neden olur).
pam_env.so
istedin pam_env.conf
?
pam_env.conf
. Teşekkürler! Düzeltmek için düzenleme yaptım.
/ etc / environment dosyası, orada dışa aktarmayı kullanamayacağınız bir komut dosyası değildir ve $ HOME türündeki değişken genişletmeyi desteklemez, sadece simplevariable = değer çiftleri. Bu nedenle, bu dosyayı kullanmak için, yolunuzu mevcut tanımlamaya eklemeniz gerekir, özellikle de sistem genelindeki ortam değişkeni ayarları içindir. Her satıra bir tane. Özellikle, bu dosya sistem genelindeki yerel ayarları ve yol ayarlarını saklar.
~ / .profile - Bu dosya ne zaman bir bash kabuğu çalıştırılırsa çalıştırılır, genellikle çevre değişkenleri için önerilen dosyadır, ancak yalnızca oturum açma kabukları tarafından çağrılmanın dezavantajı vardır, bu nedenle etkinleşmesi için ihtiyacınız olacak oturumu kapatıp tekrar açmak için - veya en azından yeni bir giriş kabuğu başlatın.
Çevresel değişkenleri ayarlamak için tercih edilen yer birkaç şeye bağlıdır:
/etc/environment
, yetkisiz erişim tehlikesi olmadığı için olacaktır ./etc/environment
, ancak~/.profile
her kullanıcıların ev dizininde bulunan bu yana sistemin her bir kullanıcıya ait.Sistem okumadan /etc/environment
önce okuyacak ~/.profile
. Hiçbir birleştirme oluşur ve benzeri Alex P söylediği son atama yoluna hakimdir.
Bu tür diğer konumlarla nasıl ~/.profile
ve /etc/environment
oynamayı belirleyen faktörlere daha ayrıntılı bir göz atmak için, buraya ve buraya gidin , çünkü bu faktörler bu yerleri kullanma şeklinizi etkileyecektir.