Jawaban:
Sebenarnya, secara bashkhusus 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--norcopsi. The--rcfilepilihan 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_ENVdi 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"; fitetapi nilai
PATHvariabel 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 .profiledigunakan untuk tujuan ini, tetapi bashmemiliki 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 dimiliki .bashrcdan BASH_ENVsumbernya saja .profile. Selama Anda tidak keluar dari perintah shell POSIX maka Anda akan mendapatkan inisialisasi yang sama di setiap shell.
Ini sangat berharga ketika shbenar-benar bash, yang terkadang 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 bashmemulai 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.
Ketika Bash dimulai, ia mengeksekusi perintah dalam berbagai skrip yang berbeda.
Ketika Bash dipanggil sebagai shell login interaktif, ia pertama kali membaca dan mengeksekusi perintah dari file / etc / profile, jika file itu ada. Setelah membaca file itu, ia mencari ~ / .bash_profile, ~ / .bash_login, dan ~ / .profile, dalam urutan itu, dan membaca serta mengeksekusi perintah dari yang pertama yang ada dan dapat dibaca.
Ketika shell login keluar, Bash membaca dan mengeksekusi perintah dari file ~ / .bash_logout, jika ada.
Ketika shell interaktif yang bukan shell login dimulai, Bash membaca dan mengeksekusi perintah dari ~ / .bashrc, jika file itu ada. Ini dapat dihambat dengan menggunakan opsi --norc. Opsi file --rcfile akan memaksa Bash untuk membaca dan menjalankan perintah dari file daripada ~ / .bashrc.
http://en.wikipedia.org/wiki/Bash_(Unix_shell)
Berikut beberapa trik dan kiatnya:
http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html
Mari kita coba atur prompt sehingga dapat menampilkan tanggal dan nama host hari ini:
PS1="\d \h $ "
.profilesetelah .bash_profile? Ada logika?
Itu harus berisi berbagai perintah "inisialisasi" untuk shell Anda, misalnya:
alias ll='ls -l').ll='ls -l'memungkinkan Anda mengetik lluntuk menjalankan ls -lperintah.