Sebenarnya, itu bash
khusus yang berbunyi .bashrc
(dan
/etc/bash.bashrc
). Ada banyak cangkang yang berbeda.
Halaman bash man (oleh Brian Fox dan Chet Ramey; juga halaman info "Bash Startup Files" ) adalah referensi resmi:
Ketika shell interaktif yang bukan shell login dimulai, bash membaca dan mengeksekusi perintah dari ~/.bashrc
, jika file itu ada. Ini dapat dihambat dengan menggunakan --norc
opsi. The --rcfile
pilihan file akan memaksa bash untuk membaca dan menjalankan perintah dari file bukan ~/.bashrc
.
Ketika bash dimulai secara non-interaktif, untuk menjalankan skrip shell, misalnya, ia mencari variabel BASH_ENV
di lingkungan, memperluas nilainya jika muncul di sana, dan menggunakan nilai yang diperluas sebagai nama file untuk dibaca dan dieksekusi. Bash berperilaku seolah-olah perintah berikut dijalankan:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
tetapi nilai PATH
variabel tidak digunakan untuk mencari nama file.
File ini hanya perintah shell. Biasanya digunakan untuk mengubah prompt, mengatur variabel lingkungan, dan mendefinisikan prosedur shell. Secara tradisional, file .profile
digunakan untuk tujuan ini, tetapi
bash
memiliki banyak ekstensi yang membutuhkan file startup sendiri untuk pengguna yang ingin menempatkan bashism
dalam file startup.
" Bukan shell login " berarti hal-hal seperti peluncuran skrip dan biasanya terminal windows dimulai oleh manajer jendela. Kadang-kadang saya mengatur sistem * nix untuk memiliki .bashrc
dan BASH_ENV
sumber saja .profile
. Selama Anda tidak keluar dari perintah shell POSIX maka Anda akan mendapatkan inisialisasi yang sama di setiap shell.
Ini sangat berharga ketika sh
benar-benar bash
, yang kadang-kadang terjadi. Untuk melakukan ini gunakan:
. .profile
Salah satu alasan ini semua sangat kompleks adalah karena kadang-kadang orang memasukkan hal-hal yang menghasilkan output ke file startup shell, atau mereka tanpa syarat mengatur prompt. Ini menyebabkan banyak masalah saat menjalankan program shell dan perintah backtick dalam bahasa, belum lagi
system(3)
dari program C. Cara bash
memulai dirancang, saya pikir, memiliki satu file di mana pengaturan output dan prompt OK dan satu file di mana tidak. Secara tradisional, tes run-time akan dilakukan untuk membedakan interaktivitas, misalnya, memeriksa untuk melihat apakah prompt diatur.
.bashrc
adalah salah satu dari banyak file konfigurasi bash. Lihat dokumentasi resmi tentang Bash Startup Files .