На странице 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 .