Например, допустим, у меня установлено bash, sh, fish, zsh, pwsh
или более.
Если я начну bash
, переключение на sh
приведет к следующему:
user@device:/folder/directory$ sh
$ exit
user@device:/folder/directory$ exit
-- Session actually ends.
Я хотел бы иметь возможность сделать это:
user@device:/folder/directory$ switchto fish
user@device /f/directory> switchto zsh
device% exit
-- Session actually ends.
Есть ли что-то в этом роде, что не закрывает терминал? Например, супер-оболочка (может быть shmgr
), которая используется в качестве оболочки по умолчанию и предоставляет такую команду (возможно, switchsh
).
Можно использовать exec
управляйте для замены одной интерактивной оболочки другим. От man bash
например (где exec
обеспечивается как оболочка встроенная команда),
exec [-cl] [-a name] [command [arguments]] If command is specified, it replaces the shell. No new process is created.
Что происходит, после этого зависит: если исходная оболочка была оболочкой входа в систему, то сессия завершится. Если оболочка является интерактивной оболочкой, работающей в эмуляторе терминала, например, то приложение эмулятора терминала решает, что сделать: для gnome-terminal
у Вас есть выбор под Edit
-> Preferences
меню между закрытием терминала, не закрытием терминала (отъезд его довольно бесполезный - без оболочки) или перезапуск оболочки по умолчанию.