Jawaban:
tmuxmeluncurkan shell login secara default, jadi ~/.bashrctidak akan dieksekusi (yang kemudian sumber ~/.bash_aliases. Anda perlu sumber ~/.bashrcdari Anda ~/.bash_profile. Lihat INVOCATIONbagian man bash.
( Jawaban Chris Down memiliki penjelasan yang benar tetapi tidak ada solusi yang baik)
Masalah Anda berasal dari kombinasi bug desain bash dan bug desain tmux.
Secara default, tmux memulai shell login di setiap jendela. Ini tidak masuk akal: jika Anda telah menetapkan tmux sebagai shell login Anda, Anda perlu mengatur default-commandopsi untuk sesuatu selain tmux; dan jika Anda belum menetapkan tmux sebagai shell login Anda, Anda perlu mengatur default-commandopsi untuk menghindari memulai shell login di dalam tmux. Jadi cibir ini di Anda ~/.tmux.confuntuk memberitahu tmux untuk memulai shell biasa:
set-option -g default-command $SHELL
Maka Anda .bashrcakan dibaca. Ada masalah lain dengan bash, yang tidak masalah di sini jika Anda mengkonfigurasi tmux seperti yang direkomendasikan di atas, tetapi yang akan muncul lagi jika Anda masuk dalam mode teks (pada konsol teks, atau melalui SSH). Bash membaca ~/.bash_profiledi shell login, dan ~/.bashrcdi shell interaktif tetapi hanya jika mereka bukan shell login. Untuk membaca ~/.bashrcjuga di shell login jika interaktif, tambahkan ini ke ~/.bash_profile:
case $- in *i*) . ~/.bashrc;; esac
tmux? Saya menggunakan tmux sekitar setahun dan belum melihat masalah dengan alias. Coba tambahkanset -xdi awal perintah Anda.bashrcdan jalankan . Mungkin Anda akan menemukan kesalahan dan itu akan menyelesaikan masalah Anda.tmuxsource ~/.bashrc