Использование Bash в FreeBSD 11
По умолчанию bash не установлен в Freebsd 11.
Проверить какой шелл используется можно так:
# echo $shell
/bin/csh
Для установки bash выполняем:
# cd /usr/ports/shells/bash
# make install clean
В процессе установки будут заданы вопросы, на которые просто отвечаем «ОК»
Установка заканчивается так:
===================================================================
bash requires fdescfs(5) mounted on /dev/fd
If you have not done it yet, please do the following:
mount -t fdescfs fdesc /dev/fd
To make it permanent, you need the following lines in /etc/fstab:
fdesc /dev/fd fdescfs rw 0 0
===================================================================
Это говорит о том, что bash, стандартная оболочка Linux, использует псевдо-файловую систему /dev/fd для сбора информации о системе. В связи с этим некоторые сторонние скрипты, написанные на bash, не будут без этого работать в FreeBSD.
Выполняем рекомендации:
# mount -t fdescfs fdesc /dev/fd
Прописываем дополнительную строчку в fstab
# nano /etc/fstab
Дописываем строку
# Device Mountpoint FStype Options Dump Pass#
/dev/da0s1a / ufs rw 1 1
/dev/da0s1b none swap sw 0 0
fdesc /dev/fd fdescfs rw 0 0
Проверяем какие теперь есть шеллы в системе
# cat /etc/shells
Убеждаемся, что в файле есть строка
/usr/local/bin/bash
Смена шелла пользователя USER выполняется командой
# chsh -s /usr/local/bin/bash USER
Если USER не вводить, то мы сменим шелл для пользователя под которым работаем
# chsh -s /usr/local/bin/bash
chsh: user information updated
Теперь можно перезайти в систему и наслаждаться bash
Что бы изменить shell без повторного входа – достаточно запустить:
# exec /usr/local/bin/bash
Проверить у кого из пользователей используется bash можно так
# cat /etc/passwd | grep bash
Комментариев нет:
Отправить комментарий