.Bash_profile komut satırından nasıl yeniden yüklenir?


996

Nasıl yeniden yükleyebilirsiniz .bash_profilegelen komut satırı ?

.bash_profileKabuktan çıkıp tekrar giriş yaparak değişiklikleri tanımasını sağlayabilirim , ancak istek üzerine bunu yapmak istiyorum.

Yanıtlar:


1882

Basitçe yazın source ~/.bash_profile

Alternatif olarak, tuş vuruşlarını kaydetmek isterseniz, . ~/.bash_profile


49
Nasıl hakkında alias BASHRELOAD=". ~/.bash_profile". Bunu sık sık yaparsanız sadece takma ad olarak kullanabilirsiniz br.
bobobobo

1
bunu her seferinde / seansta yapmamın bir nedeni var mı? Bir düzenleyicide açtığımda dosyada olsalar bile, .bash_profile dosyasında yapılan değişiklikleri alamıyorum. Kafa karıştırıcı.
erwinheiser

3
@erwinheiser sisteminiz dosyayı yüklüyor mu? Bazı sistemler ~ / .bashrc gibi başka dosyalar kullanır.
Graham P Heath

1
Yükte bir şeylerin yanlış gittiğini bilmek istiyorsanız şunları kullanabilirsiniz:alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
Cristian Batista

1
OhMyZsh'a geçtiğini unutmuş insanlar için. open ~ / .zshrc komutunu çalıştırın ve .bash_profile
Sankofa

106
. ~/.bash_profile

Sadece oradaki mevcut duruma bağımlı olmadığınızdan emin olun.


15
Bu neden işe yarıyor? Yani, .bu durumda komut nedir?
Jonah

9
dot operatörü:. sadece sourcekomut için bir takma addır.
Graham P Heath

8
@GrahamPHeath - açık konuşmak gerekirse bunun tam tersi olduğunu düşünüyorum; olduğundan .daha eskidir source.
Carl Norum

4
sourcebir bash özel bir uygulamadır.
Thirupathi Thangavel

7
@StasS - .ve sourcetam anlamıyla bash'da aynı şey. Bağlantıdan: " sourcebash'de nokta / nokta ' .' kelimesinin eş anlamlısıdır , ancak POSIX sh'de değildir, bu nedenle maksimum uyumluluk için dönemi kullanın."
Carl Norum

31

Basitçe şunu yazın:

. ~/.bash_profile

Eğer kaynağına istiyorsanız bunun yerine Eğer terminali her açtığınızda çalışan terminal başlar, sen ekleyebiliriz Ancak, otomatik olarak çalışacak şekilde . ~/.bash_profilekarşı ~/.bashrcdosyasına.

Not:

Bir terminali açtığınızda, terminal bash (oturum açma dışı) etkileşimli modda başlar, yani kaynaklanır ~/.bashrc.

~/.bash_profileetkileşimli giriş modunda başlatıldığında yalnızca bash tarafından sağlanır . Bu genellikle yalnızca konsolda ( Ctrl+ Alt+ F1.. F6) oturum açtığınızda veya üzerinden bağlandığınızda olur ssh.


15

Bu komutu ~ / .bash_profile dosyasını yeniden yüklemek için de kullanabilirsiniz. Çizgiyi kullandığınızdan emin olun.

su - username

6
Bu, bir kabuğun içinde ideal olmaktan çok bir mermiyi çağıracaktır. Diğer seçenekler sadece ilgili dosyayı yeniden çalıştırır, yani (A) gerçekten sorulan soru ile ilgilidir ve (B) kabukları yığılmamalı ve muhtemelen olmaması gereken diğer şeyleri yeniden yüklemezler (env vars, vb.). Orada olan (iç içe olmadan) düpedüz anki kabuğu yerine doğru yolu, ama bu-konu dışı olduğundan, başka yerde aramak isteyen okuyuculara bırakıyorum.
underscore_d

3
başka bir kabuk açıyorsunuz, bu yeni bir terminal açabileceğiniz veya yeniden giriş yapabileceğiniz bir yeniden yükleme değil
Juan Diego


11
  1. .Bash_profile dosyasını kaydet
  2. Yazarak kullanıcının ana dizinine git cd
  3. İle profili yeniden yükle . .bash_profile

8
Sadece eve git cd. Gerek yok ~.
roNn23

8
Gerek yok cd- sadece şu anda bulunduğunuz . ~/.bash_profile
Alex Villa

10

Mevcut kabuk terminalinizin geçmişini kaybetmenin bir sakıncası yoksa,

bash -l

Bu, kabuğunuzu çatallayacak ve başka bir çocuk bash sürecini açacaktı. -lParametre bu konuda .bash_profile fazla bilgi için olmayan bir giriş kabuğu gibi yayınlanmaz çünkü bu gereklidir, bir giriş kabuğu olarak çalıştırmak için Bash söyler burada okuyun

Mevcut kabuğu tamamen değiştirmek istiyorsanız şunları da yapabilirsiniz:

exec bash -l

Yukarıdakiler mevcut kabuğunuzu çatallamaz, tamamen değiştirir, bu yüzden yazdığınızda sizi exitönceki kabuğa bırakmak yerine tamamen sona erer.


iterm2 kullanıyorsanız tarihinizi kaybetmeyeceksiniz
Xitcod13

4

alias bashs="source ~/.bash_profile"Bash dosyanıza ekleyin . Böylece bir bashsdahaki sefere arayabilirsiniz


1
Ben takma adı reset- hatırlaması kolay
jcollum

3

.bash_profile yoksa, aşağıdaki komutu çalıştırmayı deneyebilirsiniz:

. ~/.bashrc 

veya

 source ~/.bashrc

.bash_profile yerine. Bashrc hakkında daha fazla bilgi bulabilirsiniz


3

Kullanırken source ~/.bash_profileveya yukarıda belirtilen cevapların işe yaradığına dair hızlı bir cevap göndermek istedim , bunun sadece bash profilinizi görüntülemekte olduğunuz sekmede veya oturumda yeniden yüklediği. Bash profilinizi her sekmede / kabuğa yeniden yüklemek istiyorsanız, bu komutu her birine manuel olarak girmeniz gerekir.

Eğer kullanırsanız ITERM kullanabileceğiniz CMD⌘+ Shift+ Itüm güncel sekmeler halinde bir komut girmek için . Terminal için bu konuya değinmek faydalı olabilir ;



2

Debian kullanıyorum ve bunu exec bashbaşarmak için yazabiliyorum . Diğer tüm dağıtımlarda işe yarayıp yaramayacağını söyleyemem.


2
Bu, Mac'te çalışmaz (en azından kullanıyorum - Sierra'da değil), çünkü bunu yapmak .bash_profile
Ulukai

@Ulukai görünüşe göre sadece Mac'teki . .bash_profileana dizininizin içindeyken yazarak işi yapacak. Yukarıda verilen 7urkm3n cevabı ile aynıdır.
Cassandra

2
alias reload!=". ~/.bash_profile"

veya işlevler yoluyla günlük eklemek isterseniz

function reload! () {
    echo "Reloading bash profile...!"
    source ~/.bash_profile
    echo "Reloaded!!!"
}

Hayır, bu yıl tercih edilir. Durumunu gösteren bazı ekstra baskı satırları ekleyin ne de sadece basitçe go istiyorum Eğer . ~/. bash_profile ne desource ~/.bash_profile
7urkm3n

1

Sierra'yı çalıştırıyorum ve bir süre bunun üzerinde çalışıyordum (önerilen tüm çözümleri deniyorum). Sonunda bilgisayarımı yeniden başlatmayı denediğimde şaşkına döndüm! İşe yaradı

benim sonucum bazen zor bir sıfırlama gerekli


1
Mike evet sert bir sıfırlama işe yarayacak çünkü her şey taze yüklendi. Yaptığınız değişiklikler işlevsel olduğu sürece, bir sonraki önyüklemede etkili olur. Bununla birlikte, bash'ı her zaman yapmak zorunda kalmadan yenilemek için komut / yöntemi bulmak için biraz kazmanız daha kolay olacaktır. Yeniden başlatma olmadan bunu başarmanın bir yolu olacak, ki bu son değişikliklerin işe yarayıp yaramadığını görmek için çok fazla zaman alacak! Belki osxdaily.com'a
Cassandra

1
evet bash profilini / yolunu yeniden yüklemek için hem kısaltılmış hem de tam komutu denedim. işe yaramadı, sadece çıkış yapıp tekrar giriş yaptı. tuhaf
Bjorks bir numaralı fan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.