Mengapa itu sumbernya? Anda tidak menjalankan true bash
:
$ echo $SHELL
/bin/sh
Dalam kebanyakan sistem modern sh
adalah symlink ke shell dasar. Di Debian saya misalnya:
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Aug 1 2012 /bin/sh -> dash
Dalam kasus Anda, sh
adalah tautan ke bash
tetapi, seperti yang dijelaskan dalam man bash
:
Jika bash dipanggil dengan nama sh, ia mencoba untuk meniru perilaku startup dari versi historis sh sedekat mungkin, sambil menyesuaikan dengan standar POSIX juga. [...] Ketika dipanggil sebagai shell interaktif dengan nama sh, bash mencari variabel ENV, memperluas nilainya jika didefinisikan, dan menggunakan nilai yang diperluas sebagai nama file untuk dibaca dan dieksekusi. Karena shell dipanggil sebagai sh tidak berusaha membaca dan menjalankan perintah dari file startup lainnya , opsi --rcfile tidak berpengaruh.
dan
--norc
Jangan membaca dan menjalankan file inisialisasi sistem /etc/bash.bashrc dan file inisialisasi pribadi ~ / .bashrc jika shellnya interaktif. Opsi ini aktif secara default jika shell dipanggil sebagai sh.
Jadi, karena shell default Anda adalah sh
, .bashrc
tidak dibaca. Cukup setel shell default Anda ke bash menggunakan chsh -s /bin/bash
.
/bin/sh
menunjuk ke/bin/bash
. Saya kira masalah ini berasal dari tidak secara eksplisit menetapkan shell/bin/bash
ketika saya awalnya membuat akun pengguna.