/Etc/bash.bashrc ve ~ / .bashrc arasındaki fark nedir? Hangisini kullanmalıyım?


20

Takma adlarımı, istemimi vb. Ayarlamak için iki .bashrc dosyasının her birini ne zaman kullanmalıyım?

Yanıtlar:


34

/etc/bash.bashrc tüm kullanıcılar için geçerlidir

~/.bashrc yalnızca ana klasörün bulunduğu kullanıcı için geçerlidir.


3
Ve dex'in cevabında ima edilen ... Bu makineyi kullanan herkese iradenizi uygulamak istediğiniz yer hariç, her durumda yerel ~ / .bashrc'nizi kullanın.
dacracot

Kesinlikle söylemek gerekirse, /etc/bash.bashrc içinde hiçbir şeyi zorlamıyorsunuz, çünkü kullanıcılar her zaman kendi değiştirebilirler ~ / .bashrc
Kim

... birisi tüm değişkenleri yapmaya karar verdiğinde için hariç readonlyiçinde /etc/bash.bashrc: \
grawity

1
Ubuntu altında, bu dosyanın başında yorumlandığı gibi, / etc / profile dosyasından "kaynak alınması" gerekir. /Etc/bash.bashrc sonuna bir takma ad komutu ekledim ve / etc / profile dosyasının sonuna "source /etc/bash.bashrc" komutunu ekledim. Tıkır tıkır çalışıyor.
jfmessier

2

Göre GNU Bash Dokümantasyon :

Bash etkileşimli bir giriş kabuğu olarak veya --login seçeneğiyle etkileşimli olmayan bir kabuk olarak çağrıldığında, dosya varsa / etc / profilinden komutları okur ve yürütür . Bu dosyayı okuduktan sonra bu sırayla ~ / .bash_profile , ~ / .bash_login ve ~ / .profile arar ve var olan ve okunabilir olan ilk komutları okur ve yürütür . --Noprofile seçeneği, kabuk bu davranışı engellemeye başladığında kullanılabilir.

Etkileşimli oturum açma dışı kabuk olarak çağrıldığında Oturum açma kabuğu olmayan bir etkileşimli kabuk başlatıldığında, Bash bu dosya varsa ~ / .bashrc'den komutları okur ve yürütür . Bu, --norc seçeneği kullanılarak engellenebilir. --Rcfile dosyası seçeneği Bash'ı ~ / .bashrc yerine dosyadan komut okumaya ve yürütmeye zorlar.

Yani, genellikle, ~ / .bash_profile dosyanız

eğer [-f ~ / .bashrc]; sonra . ~ / .Bashrc; fi

girişe özgü başlatmalardan sonra (veya önce).


1
Pek sayılmaz. Bu dosyayı bak git.savannah.gnu.org/cgit/bash.git/tree/shell.c ) (run_startup_files içinde, SYS_BASHRC kullanıldığı işlevini tanımlanan git.savannah.gnu.org/cgit/bash.git/ ağaç / config-top.h
mloskot 10:12

1

Kişisel tercihleriniz ve kişisel komut dosyalarınız veya bash işlevleriniz için .bashrc (takma adlar, bash'a eklenen işlevler) kullanmalısınız.

Bir şeyi tüm kullanıcılarla (veya çoğu kullanıcıyla) veya genel kullanım şeyleriyle (paylaşılan yürütülebilir dosyalar için yol, dokümantasyon yolu ...) paylaşmak istediğiniz an /etc/bash.bashrc içine koyun

Kullanıcıların çoğunu söyledim çünkü diyelim ki "Hello world!"tüm kullanıcılar için yazdırılan bir script selamlama.sh belirttiniz , ancak Pepe kullanıcısı bunun yerine basılan script selamlama.sh kullanmak istiyor "Hola el mundo!". .Bashrc içindeki yolunu sizin yerine senaryosunu gösterecek şekilde değiştirebilir. Başka bir deyişle, kullanıcı her zaman .bashrc'deki oturumunu istediği şekilde özelleştirebilir.

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.