Apa perbedaan antara .bashrc dan /etc/bash.bashrc?

14

.bashrc dan / etc / bashrc

Apa perbedaan antara /etc/bash.bashrcdan ~/.bashrc?

Iliyas Mansons
sumber
Saya tidak melihat di /etc/bashrcmana pun.
mikewhthing
2
Lihat bagian manual bash, FILES.
Cyrus
1
@mikewhthing, Anda dapat menemukan /etc/bash.bashrc.
Iliyas Mansons
@Cyrus Saya memeriksa bagian FILES halaman manual dan "bash.bashrc" tidak muncul di sana hanya "~ / .bashrc" muncul. Bisakah Anda memberikan tautan ke halaman manual yang Anda lihat? Saya sedang melihat Bash Man Page
WinEunuuchs2Unix
1
@Cyrus, saya telah menemukan jawaban dari tautan yang Anda bagikan!
Iliyas Mansons

Jawaban:

24

Ketika bash menginisialisasi bash shell interaktif non-login pada sistem seperti Debian / Ubuntu, shell pertama kali membaca /etc/bash.bashrcdan kemudian membaca ~/.bashrc.

Alasan yang /etc/bash.bashrctidak muncul dalam dokumentasi bash normal (seperti di sini atau di sini ) adalah bahwa itu adalah fitur yang ditambahkan oleh Debian dan diadopsi oleh Ubuntu. Seperti yang dijelaskan Debian ( readme.debian ):

  1. Apa itu /etc/bash.bashrc? Tampaknya tidak didokumentasikan.

    Versi bash Debian dikompilasi dengan opsi khusus ( -DSYS_BASHRC) yang membuat bash dibaca /etc/bash.bashrcsebelumnya ~/.bashrc untuk shell non-login interaktif. Jadi, pada sistem Debian, /etc/bash.bashrcadalah ~/.bashrcsebagaimana /etc/profileadanya ~/.bash_profile.

Dengan demikian, /etc/bash.bashrcdidokumentasikan dalam halaman manual Debian dan Ubuntu tetapi tidak dalam halaman manual dari distribusi lain yang tidak mendukung fitur ini.

John1024
sumber
1
Perlu dicatat bahwa penggunaannya menyebar. Git bash, yang didasarkan pada MSYS2, juga memiliki konvensi ini. Tampaknya diadopsi untuk menetapkan adaptasi / konfigurasi / standar tingkat sistem.
BenPen
4

File inisialisasi sistem luas /etc/bash.bashrc dan file inisialisasi pribadi standar ~/.bashrc jika shell berinteraksi.

Iliyas Mansons
sumber