Ini adalah isi dari stok ~/.profile
yang datang dengan 13.10 saya (baris komentar dihapus):
if [ -n "$BASH_VERSION" ]; then
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Ini diwarisi dari Debian tetapi mengapa Canonical memutuskan untuk menyimpannya? Sejauh yang saya tahu, itu bukan cara * nix standar dan saya telah melihat berbagai sistem di mana ini tidak terjadi, jadi saya berasumsi mereka pasti punya alasan yang bagus untuk itu. Hal ini dapat menyebabkan perilaku yang tidak terduga saat menjalankan shell login (seperti misalnya saat memasuki mesin misalnya) di mana pengguna tidak akan mengharapkan untuk ~/.bashrc
bersumber.
Satu-satunya keuntungan yang dapat saya pikirkan adalah untuk tidak membingungkan pengguna dengan banyak file startup dan memungkinkan mereka untuk mengedit .bashrc
sendiri dan membaca tanpa memperhatikan jenis shell. Namun, itu merupakan manfaat yang meragukan karena seringkali bermanfaat untuk memiliki pengaturan berbeda untuk login dan untuk shell interaktif dan ini menghalangi Anda untuk melakukannya. Juga, shell login sering tidak berjalan dalam lingkungan grafis dan yang dapat menyebabkan kesalahan dan peringatan dan masalah (oh my!) Tergantung pada apa yang Anda atur di file-file itu.
Jadi mengapa Ubuntu melakukan ini, apa yang saya lewatkan?
.profile
sumber .bashrc
, itu tidak terjadi di semua versi Linux dan saya bertanya-tanya apa alasan di balik itu.
-n "$BASH_VERSION"
benar di luar bash?