Если в качестве оболочки по умолчанию для входа в систему используется fish, будет указана переменная SHELL
env var для fish. Многие программы (например, vim, tmux) используют его как оболочку, используемую для выполнения команд оболочки, если вы явно не настроите их для использования другой оболочки (например, /bin/sh). Поскольку эти команды оболочки с высокой вероятностью содержат синтаксис оболочки POSIX, команды fish не будут корректно выполняться. Это означает, что вы, скорее всего, будете испытывать случайные, разочаровывающие проблемы.
Вы можете установить fish в качестве оболочки по умолчанию для входа. Я делаю это на двух моих основных компьютерах. Но я опытный пользователь UNIX, который знает о потенциальных проблемах, которые это может вызвать. Я также знаю, как обойти их. Например, добавив set shell=/bin/sh
в мой файл конфигурации vimrc. Если вы неопытны или просто не хотите иметь дело с дополнительной конфигурацией, которая потребуется, лучше оставить для вашей оболочки входа bash или другую оболочку POSIX. Затем запустите рыбу из этой раковины в интерактивном режиме. Это также безопаснее, потому что вы с большей вероятностью испортите конфигурацию рыбы таким образом, что вы не сможете начать интерактивную сессию рыбы. Если вы сделали fish своей стандартной оболочкой для входа, вы не сможете войти.
Суть в том, что если вы неопытный пользователь UNIX CLI или новичок в fish, не устанавливайте его в качестве оболочки по умолчанию. Если вы опытный пользователь UNIX CLI и уже несколько недель используете fish и уверены, что вы можете правильно настроить его, не стесняйтесь сделать его оболочкой по умолчанию.