Saat Anda masuk, file tersebut ~/.profile
dibaca oleh shell login (ksh untuk Anda). Anda dapat menginstruksikan shell login untuk menggantinya dengan bash. Anda harus mengambil beberapa tindakan pencegahan:
- Ganti shell login hanya jika interaktif. Ini penting: jika tidak, masuk dalam mode grafis mungkin tidak berfungsi (ini tergantung pada sistem: beberapa tetapi tidak semua sistem membaca
~/.profile
saat masuk melalui xdm atau serupa), dan idiom seperti ssh foo '. ~/.profile; mycommand'
akan gagal.
- Periksa bash yang tersedia, sehingga Anda masih bisa masuk jika eksekusi tidak ada karena alasan tertentu.
Anda punya pilihan apakah menjalankan bash sebagai shell login atau tidak. Satu-satunya perbedaan utama dalam membuatnya menjadi shell login adalah ia akan memuat ~/.bash_profile
atau ~/.profile
. Jadi, jika Anda menjalankan bash sebagai shell login, berhati-hatilah untuk memiliki ~/.bash_profile
atau berhati-hatilah agar tidak menjalankan bash secara rekursif ~/.profile
. Tidak ada keuntungan nyata dari ~/.profile
dieksekusi oleh bash daripada ksh, jadi saya sarankan tidak melakukannya.
Juga atur SHELL
variabel lingkungan ke bash, sehingga program seperti emulator terminal akan memanggil shell itu.
Berikut kode untuk beralih ke bash. Letakkan di akhir ~/.profile
.
case $- in
*i*)
# Interactive session. Try switching to bash.
if [ -z "$BASH" ]; then # do nothing if running under bash already
bash=$(command -v bash)
if [ -x "$bash" ]; then
export SHELL="$bash"
exec "$bash"
fi
fi
esac