~ / .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.