.Bashrc dosyasi nedir ve ne işe yarar?


21

.bashrcDosyanın ne olduğu ve tam olarak ne yaptığı hakkında net bir bilgi bulamıyorum .


Şimdiye kadar tüm yardım için teşekkürler. Görünüşe göre bu senaryo boyama, tamamlama, takma adlar ve kabuk tarihçesinden, vb. Her şeyi yapıyor. Yararlı görünmeyen bir şey var mı?


4
.bashrcpek çok bash konfigürasyon dosyasından biridir. Bash Başlangıç ​​Dosyaları hakkındaki resmi belgelere bakın .
muru

Yanıtlar:


21

.bashrcDosya yeni bir terminal oturumu içinde her başlatıldığında çalışan bir betik olduğunu interaktif mod . Bu, Ctrl+ Alt+ tuşlarına basarak yeni bir terminal penceresi Taçtığınızda veya yalnızca yeni bir terminal sekmesi açtığınızda gerçekleşen şeydir .

Buna karşılık, oturum açma modundaki bir terminal oturumu sizden kullanıcı adı ve şifrenizi sorar ve ~/.bash_profilekomut dosyasını çalıştırır . Bu, örneğin SSH üzerinden uzak bir sistemde oturum açtığınızda gerçekleşen şeydir.

.bashrcDosya için terminal oturum için konfigürasyonlar, bir dizi içerir. Bu, ayarlamayı veya etkinleştirmeyi içerir: renklendirme, tamamlama, kabuk geçmişi, komut takma adları ve daha fazlası. .bashrcUbuntu ile dağıtılan dosya iyi açıklanmıştır ve sadece bunu okuyarak ne yaptığını çoğu anlamak mümkün olacaktır.

İsteğinize .bashrcgöre ince ayar yapabilirsiniz . Burada birçok ekstra özelliğe sahip bir örnek alabilirsiniz .


Bağlantı koptu.
rab

1
Bağlantı çalışıyor.
Luís de Sousa

Bu sayfada indirme dosyası çalışmıyor.
rab

1
Hem bağlantı hem de indirme işlemi iyi çalışıyor
M. Becerra

5

Süper kullanıcı hakkında soru - .bashrc dosyasi nedir? tarafından @pineapple ve cevap @DigitalRoss

Aslında, bashözellikle okur .bashrc(ve /etc/bash.bashrc). Çok farklı mermiler var.

Bash adam sayfası (Brian Fox ve Chet Ramey tarafından; ayrıca bilgi sayfası "Bash Başlatma Dosyaları" ) yetkili referanstır:

Oturum açma kabuğu olmayan etkileşimli bir kabuk başlatıldığında, bash ~/.bashrcbu dosya varsa, komutları okur ve yürütür . Bu --norcseçenek kullanılarak engellenebilir . --rcfileDosya seçeneği okuyup yerine dosyadan komutları yürütmek için bash zorlar ~/.bashrc.

Bash etkileşimli olmayan bir şekilde başlatıldığında, bir kabuk betiğini çalıştırmak, örneğin, BASH_ENVortamdaki değişkeni arar , orada görünürse değerini artırır ve genişletilmiş değeri okumak ve yürütmek için bir dosyanın adı olarak kullanır. Bash, aşağıdaki komut yürütülmüş gibi davranır:

if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi  

ancak PATHdeğişkenin değeri dosya adını aramak için kullanılmaz.

Dosya sadece kabuk komutlarıdır. Genellikle istemleri değiştirmek, ortam değişkenlerini ayarlamak ve kabuk prosedürlerini tanımlamak için kullanılır. Geleneksel olarak, dosya .profilebu amaç için kullanılır, ancak başlangıç ​​dosyalarına temelbash oluşturmak isteyen kullanıcılar için kendi başlangıç ​​dosyasına ihtiyaç duyacak kadar uzantıya sahiptir.

" Giriş kabuğu değil ", komut dosyası başlatması ve genellikle pencere yöneticileri tarafından başlatılan terminal pencereleri gibi şeyler anlamına gelir. Bazen * nix sistemlerini kurdum .bashrcve BASH_ENVsadece kaynak kullandım .profile. POSIX kabuk komutlarının dışında kalmadığınız sürece, aynı başlatmayı herhangi bir kabukta alırsınız.

shGerçekten de bash, bazen olduğu zaman , özellikle değerlidir . Bu kullanımı yapmak için:

. .profile

Bunların bu kadar karmaşık olmasının bir nedeni, bazen insanların çıktı üreten şeyleri kabuk başlangıç ​​dosyalarına koymaları veya koşulsuz olarak bilgi istemleri oluşturmalarıdır. Bu system(3), C programlarından bahsetmek yerine, kabuk programları ve dillerdeki backtick komutlarını çalıştırırken çok fazla soruna neden olur . Başlangıç ​​şekli bash, çıktı ve bilgi istemi ayarının tamam olduğu bir dosyaya ve olmadığı bir dosyaya sahip olmak için tasarlanmıştır. Geleneksel olarak, etkileşimin ayırt edilmesi için bir çalışma zamanı testi yapılır, örneğin komut isteminin ayarlanıp ayarlanmadığını kontrol edin.

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.