~ / .Bash_profile ve ~ / .profile nasıl oluşturulur


25

Yani .bash_profilehiçbiri .profileana klasörümde yok. Onları nasıl oluşturabilirim? Ondan sonra, bu dosyaları okuduklarım terminali her açışımda ne yapmalıyım?

Yanıtlar:


28

touchKomutu kullanabilirsiniz .

Örneğin,

cd ~

Ana dizine gitmek için

Şimdi adında bir dosya yaratacağız .bash_profile(nokta, gizleneceği anlamına gelir).

Ardından nanoveya viTerminalde kullanın . Ne olduğunu bilmiyorsan vi, sadece kullan nano. Bu dosyaları açmak için şunları kullanırsınız:

sudo nano .bash_profile

sudobu dosyaları kaydedebileceğinizden emin olmanızı sağlar. Burada ekleyebilirsiniz aliases. nanoya vida geçerli dizinde Terminal'de yoksa , otomatik olarak yeni bir dosya oluşturacaktır.

Bitirdikten sonra basın Ctrl+ O, Enterve Ctrl+ Xkaydedip çıkmak için. Sonunda kullan

source ~/.bash_profile

Terminal'i yeniden yüklemek ve bu dosyalara ne koyduğunuzu okuyacaktır.

Elbette, istersen bunu takma adlandırabilirsin. :)

Son sorunuzu cevaplamak için bu dosyalar Terminal'i her açtığınızda otomatik olarak okunur. Ancak, bir hata varsa (Örneğin, takma adların arasına boşluk koymayın), size söyleyecektir.

Daha fazla bilgi

George'un işaret ettiği gibi, .bash_profilesadece giriş kabukları üzerinde çalışacak. Giriş yapılmayan kabuklar için şunlarla bir .bashrcdosya oluşturmanız gerekir :

    sudo nano .bashrc

Bağlantılar

.bash_profile vs .bashrc

.Bashrc'nin Önemi


5
Neden touchönce boş dosyalar oluşturmak için kullanıyorsunuz ? nanoYine de bunu otomatik olarak yapar.
yokuş yukarı

5
Ayrıca, muhtemelen ~ / .profile ve ~ / .bash_profile öğelerini istemezsiniz - bash .bash_profile görürse, .profile ile uğraşmaz. Sonunda, sadece "giriş" kabukları için koşulacak; nonlogin kabukları yerine ~ / .bashrc ile çalışır. Burada ve burada önceki SO sorularına bakın .
Gordon Davisson

@GordonDavisson ~/.profilebir kopyası olarak sahip olmak iyidir ~/.bash_profile? Eğer ikisine de sahipseniz, içinde ~/.profileyapılamayan ne var ~/.bash_profile?
Thi G.

2
@ThiG: Birinin diğerinin bir kopyası olmaz; birine bir şeyler ekleyebilecek, diğerine eklemeyi unutmuş ve kafan karışmış. En iyi uygulama olarak düşündüğüm şeyler için bu SO sorusundaki önerilerime bakın .
Gordon Davisson

sudoKullanıcı haklarını karıştırdığınızdan emin olmanızı sağlar. Yapma bunu.
Max Ried

2

Bu dosyaları / etc / skel / dizininden kopyalayabilirsiniz, bu dosyalar Debian tabanlı dağıtımlarda useradd gibi oluşturulan yeni kullanıcılar için iskelet dosyalarıdır:

cp -nr /etc/skel/. ~/

Her giriş yaptığınızda bu dosyalar otomatik olarak kabuk tarafından yüklenir. Bu profil dosyalarını yükleme şekli kabuk kılavuz sayfanızda açıklanmaktadır. Bash kabuğunu özel bir şekilde kullanıyorsanız (örneğin, ssh, ansible, vs ... gibi) bu profil dosyaları tarafından hazırlanan ENV'de çalıştırmak istediğiniz 'bash -ilc "komutunu kullanmalısınız. -i, .bashrc tarafından sıkça ihtiyaç duyulan etkileşimli kabuk anlamına gelir. -l login kabuğu .profile yüklenmesine neden olur (veya .bash_profile vardır - bash kılavuz sayfasına bakın) .bashrc


0

BBEdit veya TextWrangler gibi GUI metin editörlerini kullanmayı tercih ederim. Bu metin editörleri, .profile ve .bash_profile gibi görünmez dosyaları idare edebilir ve bir konsol arayüzü olan nano'dan farklı olarak bir GUI arayüzüne sahip olma avantajına sahiptir.

TextWrangler

BBEdit


0

TextEdit gibi bir GUI metin düzenleyicisi de kullanabilirsiniz:

touch ~/.bash_profile
open -e ~/.bash_profile

open -ekısayol open -a TextEdit.

Mutlaka .profile veya .bashrc oluşturmak zorunda değilsiniz. Terminal ve iTerm 2, giriş kabukları olarak yeni mermiler açar, böylece bash .bashrc dosyasını okumaz. Hem .bash_profile hem de .profile varsa, bash etkileşimli bir giriş kabuğu olarak çağrıldığında bash yalnızca .bash_profile okur. .profile etkileşimli bir giriş kabuğu olarak çağrıldığında ksh ile ve etkileşimli bir giriş kabuğu olarak sh kullanıldığında bash ile okunur.

Aslında iTerm 2'ye giriş yapma kabukları olarak yeni mermiler açmalarını söyledim ve .bash_profile sadece bir satır içeriyor . ~/.bashrc. tmux ve emacs içindeki kabuk modu, varsayılan olarak oturum açma dışı kabuklar olarak yeni kabuklar açar. .bash_profile bilgisayarıma ssh gönderdiğimde hala okunuyor.


Ben Her ikisine de sahip olduğu ... got bakayım ~/.bash_profileve ~/.profile? Ve ayrıca sahipsin ~/.bashrc?
Thi G.

Ben bir .profile yok ve benim .bash_profile sadece içeriyor . ~/.bashrc.
28'de
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.