Коли ви входите в систему, файл ~/.profile
зчитується оболонкою для входу (ksh для вас). Ви можете доручити цій оболонці входу замінити себе bash. Слід дотримуватися певних заходів обережності:
- Замініть оболонку входу, лише якщо вона інтерактивна. Це важливо: інакше вхід у графічний режим може не працювати (це залежить від системи: деякі, але не всі системи читаються
~/.profile
під час входу через xdm чи подібні), і такі ідіоми, як ssh foo '. ~/.profile; mycommand'
помилка.
- Перевірте, чи доступний bash, щоб ви все одно могли увійти, якщо виконуваний файл з якихось причин відсутній.
У вас є вибір, запускати bash як оболонку входу чи ні. Єдина основна відмінність у тому, щоб зробити його оболонкою для входу, це те, що він завантажується ~/.bash_profile
або ~/.profile
. Отже, якщо ви запускаєте bash як оболонку входу, будьте дуже обережні, щоб мати a ~/.bash_profile
або потурбуватися про те, щоб не виконувати bash рекурсивно з ~/.profile
. Немає реальної переваги у ~/.profile
виконанні bash, а не ksh, тому я рекомендую цього не робити.
Також встановіть SHELL
змінну середовища на bash, щоб такі програми, як емулятори терміналів, викликали цю оболонку.
Ось код для переходу на bash. Поставте його в кінці ~/.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