На странице su
есть два способа сделать это.
Первый способ - просто использовать флаг -s
или --shell
(при условии, что вы используете ОС * NIX с версией su
, поддерживающей этот аргумент), после чего следует путь к выбранной вами оболочке. Если переданная оболочка не может быть найдена, su
возвращается к следующему методу и, в случае неудачи, попытается вызвать /bin/sh
.
Например, вы можете заставить su
запустить zsh
(при условии, что он существует в /bin/zsh
) как:
sudo su --shell /bin/zsh
Второй способ - изменить оболочку по умолчанию, указанную для пользователя root
(будьте осторожны!). Это можно сделать, отредактировав файл /etc/passwd
и изменив оболочку, указанную для пользователя root
. Чтобы увидеть, какая оболочка указана по умолчанию, вы можете выполнить следующую команду (при условии, что суперпользователь - root):
sudo grep root /etc/passwd
Команда должна вывести что-то вроде root:x:0:0:root:/root:/bin/bash
. Вы можете просто изменить /bin/bash
(или то, что установлено в вашей системе), чтобы вместо этого указывать на zsh
.