.bash_profile
Ubuntu 14.04'te dizinimde bulamıyorum /home/user
. Kullandığım ls -a
görmek için komutu .bash_profile
, ancak böyle bir dosya yok.
.bash_profile
Ubuntu 14.04'te dizinimde bulamıyorum /home/user
. Kullandığım ls -a
görmek için komutu .bash_profile
, ancak böyle bir dosya yok.
Yanıtlar:
Ubuntu kullanır ~/.profile
.
.bash_profile
Ubuntu’da kendi dilini yaratabilirsin ama sonra .profile
okunmayacak.
.Profile içeriğini okursak:
cat ~/.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
Yani ~/.profile
yerine~/.bash_profile
vim ~/.bashrc
sonra. ~/.bashrc
Bir giriş kabuğu çağırırken bash, config dosyalarını bu sıraya göre arar:
[0] ~/.bash_profile
[1] ~/.bash_login
[2] ~/.profile
Bir varsa o kadar ilkini bulduktan sonra, diğerleri için arayan durdurur .bash_profile
benim de $HOME
partisi yüzünden bakmaz .bash_login
ve .profile
artık.
Bu üç dosya adından, varsayılan olarak Ubuntu kullanır, .profile
isterseniz yeniden adlandırabilirsiniz .bash_profile
:
mv ~/.profile ~/.bash_profile
Kullandığımız yeni bash kabuğunu açarsanız Şimdi bash -l
, su - $USER
, sudo -u $USER -i
veya bir giriş kabuğu olarak bash çalıştıran herhangi başka komutlar, ~/.bash_profile
kaynaklı alacak.
Şu ana kadar bahsettiğim şey sadece Bash'in kendisi için geçerlidir, sisteme bir GUI'den giriş yaptığınızda, ekran yöneticisi doğru dosyaları almaktan sorumludur.
Ubuntu gdm3
, ekran yöneticisi olarak kullanır , eğer bir göz /etc/gdm3/Xsession
atarsak, aşağıdakilerden hiçbirinin kaynaklanmayacağını görebiliriz .profile
:
# First read /etc/profile and .profile
for file in /etc/profile "$HOME/.profile"; do
if [ -f "$file" ]; then
source_with_error_check "$file"
fi
done
Bu nedenle, oturum açmak için bir GUI kullanıyorsanız, dosyayı .profile
ad altında tutun; aksi halde ortamlarınızdaki bazı değişkenleri ve ayarları özleyebilirsiniz.
Sanırım daha iyi seçenek bir sembolik bağlantı oluşturmaktır .profile
:
ln -s ~/.profile ~/.bash_profile
Şimdi verileriniz içinde yaşıyor .profile
, gdm
hiçbir şeyi kaçırmıyor .bash_profile
, asıl yük olan bash yüklerini .profile
ve her birini düzenleyerek aynı sonucu elde ediyorsunuz.
Daha .profile
sonra buradan kopyasını alamazsanız:
cp /etc/skel/.profile ~/.profile
veya
# Remember the note above
cp /etc/skel/.profile ~/.bash_profile
man bash
Ubuntu'da hala ilk önce .bash_profile'un nasıl görüneceğini açıklar.
.bash_profile
önce onu bulamıyor (çünkü yok) arar, sonra .bash_login
tekrar bulur (Ubuntu bu iki ismi kullanmaz). Son olarak arar .profile
ve evet. Yani eğer bir .bash_profile
giriş ~
yaparsanız ubuntu'nun üzerine yazıyorsunuz, ~/.profile
burada hiçbir şeyin değiştirilmemiş olan bash'ın varsayılan davranışı bu.
.bash_profile
, okunmaz. Bunun sadece Ubuntu'nun 'Bash'i artık bir GUI giriş kabuğu olarak kullanmaması nedeniyle fark ettim. Bunun yerine 'Dash' kullanır. Bunun 18.04'ten beri geçerli olduğunu düşünüyorum .
Bu, dosyanın bulunmadığı anlamına gelir. Ancak, dosyayı oluşturabilir ve bir giriş kabuğu olarak çağrılırsa bash
dosyayı çalıştırır / kaynaklar bash
. Yani kaçınılmaz bir kabukla giriş yaparsınız (örneğin ssh
).
İçeriğin bir terminali her açtığınızda çalıştırılmasını istiyorsanız, .bashrc
dosyayı değiştirmelisiniz .
/etc/skel/
.
.bash_profile
Sebebinin Ubuntu'da eksik olduğunu (ve çalışmadığını) diğer cevaplarla ilgili yorumlarda açıkladım .
Kullanmak ~/.profile
yerine en iyi cevap ~/.bash_profile
benim için işe yaramadı.
değişiklik yapmaya .bashrc
çalıştı
Sadece:
vim ~/.bashrc
Not: Ubuntu WSL kullanıyorum.
~/.profile
.Bashrc'yi kastediyorsanız, onu ev klasörünüzde bulacaksınız. Orada değilse, / etc / skel klasöründen home klasörünüze kopyalayabilirsiniz.
Bu konuda daha fazla bilgiye ihtiyaç duyarsanız, lütfen stefaan lippens sayfasını ziyaret edin.
~/.profile
yerine kullanmalısın .