~ / .Profile ve ~ / .bash_profile arasındaki fark nedir?


Yanıtlar:


44

.profile(Aka Bourne kabuk için özgün profil konfigürasyonu olarak sh). bashBourne uyumlu bir kabuk olmak onu okuyacak ve kullanacak. .bash_profileÖte yandan sadece tarafından okunur bash. Standart Bourne kabuğuyla uyumlu olmayan komutlar için tasarlanmıştır.


Hatalıysam, beni düzeltin .. .profile herhangi bir Bourne uyumlu kabuk tarafından kullanılırken .bash_profile yalnızca bash tarafından kullanılır.
lakesh,

2
@ lakesh: Evet, bourne uyumluluğu sağlayan herhangi bir kabuk okuyacak .profile. Örneğin, bashve kshfakat cshya tcsh. Ve zshher ikisi de sağlar shve cshhem okuyacak, böylece uyumluluk .profileve .loginyanı sıra zshbelirli nokta dosyaları.
Bahaham

Bu bash ve ksh hakkında okumak için herhangi bir öğretici var mı? Bunları daha önce hiç duymamıştım ...
lakesh

4
UNIX Shell History ile başlayabilirsiniz .
bahamat

25

Orijinal başlangıçta shkaynaklı .profile.

bash.bash_profileönce kaynak yapmaya çalışacak , ancak eğer yoksa, kaynak .profile1 olacak .

Eğer unutmayın basholarak başlatılır sh(örneğin /bin/shbir bağlantı olduğu /bin/bash) ya da ile başlatılır --posixbayrak, bu taklit etmeye çalışır shve sadece okur .profile.

Dipnotlar:

  1. Aslında, ilk bir .bash_profile, .bash_login,.profile

Ayrıca bakınız:


2
Müthiş .. Teşekkürler ... özellikle referanslar için ...
lakesh

10

UNIX dünyasında birçok kabuk olduğunu biliyorsunuz, ancak çoğu:

  • Bourne kabuğu : /bin/sh(Mucit: Stephen Bourne)
  • BASH (Bourne Again Shell): /bin/bash(Mucit: Brian Fox, GNU projesi kapsamında) (güçlü kabuk)
  • C kabuğu : /bin/csh(Mucit: Bill Joy, TCP / IP Yığını Mucidi)
  • Korn kabuğu : /bin/ksh(Mucit: David Korn, Bell Labs altında)
  • Z kabuğu : /bin/zsh(Güçlü kabuk)
  • TENEX C kabuğu : /bin/tcsh(C Kabuğundan elde edilir)
  • Debian Almquist kabuğu : /bin/dash(Almquist kabuğundan elde edilmiştir (NetBSD projesi altında kül)) (Dash, lenny'den doğar)

Ama sorunuz şu ~/.bash_profileve hakkında ~/.profile:

Bir UNIX makinesinde oturum açtığınızda, aşağıdaki /etc/passwdgibi bir alanda yönetici tarafından seçilen kabuğa göre, ana dizininize yönlendirir :

mohsen:x:1000:1000:Mohsen Pahlevanzadeh,,,:/home/mohsen:/bin/bash

Sizin kabuk çalıştırır ve varsayılan olarak her kabuk için bir dizi dosyası vardır loginve logout. Eğer bash giriş yaptığınızda, ~/.profileçalıştırmak ve size zaman logout, ~/.bash_logoutçalıştırılır. ~/.bash_historydosya giriş komutunuzu tutar.

Her kabukta başlatma dosyası

Tenex c kabuk

  • ~/.login Giriş yaparken
  • ~/.logout Oturumu kapattığınızda
  • ~/.tcshrc~./bashrcbash ile aynı

Değişkeni $histfile, geçmiş dosyasının adı, değişken $historyolarak saklanacak komut sayısı olarak ayarlayabilirsiniz .

Z kabuğu

Gerçekten de güçlü bir kabuk ve eğer boş zamanınız varsa, mutlaka harekete geçin.

Diğer kabuk dışında, Z kabuğunun birçok yapılandırma dosyası ve ilklendirme dosyası var, sadece şunu yazdım:

$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
/tmp/zsh*
/etc/zshenv
/etc/zprofile
/etc/zshrc
/etc/zlogin

Not: $ZDOTDIRayarlanmamışsa, ev ayarı.

C kabuğu

Not: TENEX C kabuğu, C kabuğundan çatallanmıştır. C kabuğu BSD tarafından desteklenir. C dili programlamasına aşina iseniz, sözdizimi benzer olduğu için rahat olmalısınız.

~/.login
~/.cshrc
~/.logout

Not: csh eskidir. Bunun yerine tcsh kullanın.

Korn Shell

  • ~/.profile
  • rc dosyası: kullanıcı tanımlı
  • oturum kapatma dosyası: N / A

Bourne Yine Kabuğu (BASH)

Çok güçlü bir kabuk ve GNU projesi altında doğdu ve Bourne Shell tarafından çatallandı.

~/.bash_login
~/.bash_logout
~/.bashrc
~/.bash_profile
~/.bash_history

Giriş yaptığınızda, bash çalışır ~/.bash_profileve ~/.bash_profileçalışır ~/.bashrc. Gerçekten de ~/.bashrcbash başlatma dosyası değil, çünkü bash çalışmıyor.

Bourne kabuğu

Öldü. Kullanırken bile, kullanım man shkılavuzuna bakın dash. [Editörün notu: Hakkında biraz bit dashsadece Ubuntu gibi Debian ve Debian tabanlı dağıtımlar için geçerlidir.]

senin cevabın

~/.bash_profilebash altında çalışır, ancak ~/.profileBourne ve Korn kabuğunun altında çalışır.


2
Chet Ramey, Bash'in ana geliştiricisiydi.
üçlü

4

Giriş kabuğu basitçe ssh üzerinden veya konsoldan giriş yapabileceğiniz bir kabuktur. Giriş yapmayan bir kabuk, birisinin de giriş yapamayacağı bir kabuktur. Giriş olmayan bir kabuk genellikle programlar / sistem servisleri tarafından kullanılır.

Üçüncü konuya gelince. .bashrcHer kabuğun örneği üzerinde yürütüldüğü doğrudur . Ancak .bash_profilesadece giriş yaptıklarında kullanılır. Böylece iki ayrı dosya nedeni.

.profileÖzellikle Bash ile ilgili olmayan şeyler için, $ PATH gibi ortam değişkenleri gibi, her zaman erişilebilir olmalıdır. .bash_profileözellikle giriş sırasında yapılan giriş kabukları veya kabukları içindir.


/ .profile ve ~ / .bash_profile arasındaki fark?
lakesh,

2
.profile, Bash ile spesifik olarak ilgisi olmayan şeyler içindir, PATH ortam değişkenleri gibi, her zaman erişilebilir olmalıdır. .bash_profile özellikle giriş sırasında yapılan giriş kabukları veya kabukları içindir.
anzenketh

Sorum nedir çünkü .... olduğu .... cevabınıza bu ifadeyi eklemek
lakesh

Ha? Bu soruya cevap bile vermiyor mu?
Mikel
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.