Di mana file startup profil bash?

8

Saya tahu bahwa Anda dapat memiliki .profileatau .bashrcfile di folder rumah Anda untuk menyesuaikan Mac OS X 10.6.4 Startup terminal bash.

Setiap kali saya memulai Terminal, ada baris yang memberitahu saya "Anda mendapat surat". Saya mencoba menemukan di mana baris ini dinyatakan dalam file startup saya, tetapi tidak dapat menemukan .bash .profileatau .bashrcdi folder home saya.

Saya juga membaca bahwa file pengaturan global dalam /etc/profiledan /etc/bashrc, tetapi mereka tampaknya tidak memberi tahu saya apa-apa:

/ etc / profile

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi

/ etc / bashrc

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize

BTW, tidak ada /etc/bash

Ada ide? Terima kasih!

hpy
sumber

Jawaban:

11

Ini mungkin tidak menjawab pertanyaan email tetapi di sini ada beberapa info lebih lanjut tentang file startup.

Apakah Anda mencari file di Finder? Pastikan Anda mencari dari terminal dan menggunakan ls -Asehingga file yang tersembunyi (file yang diawali dengan ' .') muncul.

Berikut ini adalah dari Panduan Referensi Bash. Ini menjelaskan file startup yang dijalankan ketika Anda memulai jendela terminal baru di OS X (yang merupakan shell login interaktif).

6.2 Bash Startup Files

Bagian ini menjelaskan bagaimana Bash mengeksekusi file startupnya. Jika ada file yang ada tetapi tidak dapat dibaca, Bash melaporkan kesalahan. Tilde diperluas dalam nama file seperti yang dijelaskan di bawah di bawah Ekspansi Tilde (lihat Bagian 3.5.2 [Ekspansi Tilde], halaman 19).

Kerang interaktif dijelaskan di Bagian 6.3 [Kerang Interaktif], halaman 75.

Dipanggil sebagai shell login interaktif, atau dengan '--login'

Ketika Bash dipanggil sebagai shell login interaktif, atau sebagai shell non-interaktif dengan --loginopsi, Bash pertama kali membaca dan mengeksekusi perintah dari file /etc/profile, jika file itu ada. Setelah membaca file itu, tampaknya untuk ~/.bash_profile, ~/.bash_logindan ~/.profile, agar, dan membaca dan mengeksekusi perintah dari yang pertama yang ada dan dapat dibaca. The --noprofilepilihan mungkin digunakan ketika shell dimulai untuk menghambat perilaku ini.

Ketika shell login keluar, Bash membaca dan mengeksekusi perintah dari file '~ / .bash_logout', jika ada.

Robert S Ciaccio
sumber
4

Baris tertentu ( You have mail) sebenarnya bukan bagian dari startup bash tetapi peringatan bahwa akun lokal Anda di komputer Anda telah menerima email karena beberapa alasan.

Anda dapat menggunakan mailuntuk membaca dan menghapus pesan atau hanya menghapus pesan (kemungkinan bouncing kembali atau sesuatu dari pengembangan) dari/var/mail/username

Chealion
sumber
4

Pemberitahuan ini dikonfigurasi oleh variabel lingkungan MAILCHECK. Lihat man bashdan cari MAILCHECK(tekan /dan ketik MAILCHECKuntuk mencari di halaman manual).

Berikut kutipan yang relevan:

 MAILCHECK
              Menentukan seberapa sering (dalam detik) bash memeriksa surat. Itu
              standarnya adalah 60 detik. Ketika tiba waktunya untuk memeriksa surat, email
              shell melakukannya sebelum menampilkan prompt utama. Jika ini
              variabel tidak disetel, atau disetel ke nilai yang bukan angka
              lebih besar dari atau sama dengan nol, shell menonaktifkan pemeriksaan surat.

Untuk memverifikasi bahwa variabel ini memang disetel, jalankan echo $MAILCHECK

Untuk menonaktifkan pemberitahuan ini, tambahkan baris berikut ke ~/.bashrc

batalkan MAILCHECK
simonair
sumber