IT-инфраструктура • инструкции • практикаПоиск по сайту

Серверы и системное администрирование

Найти материал →

Fish shell 4.9 вышла: ускорено автодополнение и исправлены проблемы с konsole

Fish Shell 4.9 вышла: ускорено автодополнение и исправлены проблемы с Konsole

Разработчики Fish Shell представили версию 4.9 - очередное обновление популярной командной оболочки для Linux и macOS. Релиз не меняет концепцию проекта, но устраняет ряд накопившихся ошибок, улучшает работу сценариев и делает автодополнение заметно отзывчивее в отдельных сценариях.

Одним из главных изменений стала корректировка взаимодействия Fish Shell с терминалом Konsole 26.07.80 и его реализацией протокола клавиатуры Kitty. Ранее из-за этой особенности сочетание Shift+PageUp могло перестать работать. Чтобы избежать конфликта, Fish теперь по умолчанию не запрашивает протокол Kitty при запуске внутри Konsole. При необходимости пользователи могут вернуть прежнее поведение с помощью функции-флага `omit-term-workarounds`.

Отдельное внимание уделено производительности подсказок. В Fish Shell 4.9 ускорено таб-автодополнение в каталогах, где присутствуют символические ссылки с долгим временем разрешения. Это особенно заметно при работе с ссылками на сетевые файловые системы: оболочке больше не приходится надолго приостанавливать вывод вариантов, пока она проверяет содержимое удалённого пути. Подробный обзор изменений опубликован в материале о [новом релизе Fish Shell 4.9 и ускоренном автодополнении](https://linuxiac.com/fish-shell-4-9-released-with-faster-tab-completion/).

Нововведение появилось и в системе сокращений. Теперь аббревиатуры могут сопровождаться описаниями, которые отображаются непосредственно в окне подсказок. Это упрощает работу с большим количеством пользовательских команд и помогает быстрее вспомнить назначение редко используемого сокращения. Для тех, кто активно применяет Fish Shell настройка автодополнения и связанных подсказок, становится более гибкой и информативной.

Изменения коснулись и клавиатурного управления. В терминалах вроде Kitty клавиши Space и Shift+Space теперь можно назначать независимо друг от друга. Небольшое исправление получил режим Vi: команды `cF` и `cT` снова работают корректно, без прежних отклонений в поведении.

Разработчики также расширили возможности языка сценариев. В большем числе случаев теперь разрешена вложенная индексация списков. Кроме того, устранены ошибки, связанные с квадратными скобками и индексированием переменных. Такие исправления особенно важны для сложных shell-скриптов, где обработка массивов и списков является частью повседневной логики.

Встроенная справочная система отныне учитывает переопределённую функцию `man`. Это позволяет пользователям применять собственную реализацию вызова документации и при этом получать ожидаемое поведение из встроенной команды помощи. Команды с некорректным переопределением переменных теперь сообщают об ошибке, вместо того чтобы молча игнорировать неверный параметр.

Fish Shell 4.9 также закрывает несколько старых регрессий. В частности, восстановлена корректная обработка китайских и японских переводов для некоторых сообщений об ошибках стандартной библиотеки C. Исправлена работа с удалением переменных, доступных только для чтения, а встроенная команда `fg` снова корректно функционирует в NetBSD.

Новая версия может быть интересна как новичкам, так и опытным администраторам. Fish Shell для Linux предлагает удобный интерактивный режим, понятные подсказки, автоматическое дополнение параметров и более дружелюбную работу с командами по сравнению с традиционными оболочками. При этом перед переходом полезно провести собственное Fish Shell сравнение с Bash: Fish отличается синтаксисом сценариев, поведением переменных и подходом к совместимости, поэтому готовые Bash-скрипты не всегда запускаются без изменений.

Установка зависит от используемого дистрибутива. Пакеты Fish обычно доступны в стандартных репозиториях Debian, Ubuntu, Fedora, Arch Linux и других систем. Пользователи, которым требуется скачать Fish Shell 4.9 именно в виде готового релизного пакета, могут воспользоваться страницей выпуска проекта: там представлены отдельные бинарные сборки для поддерживаемых архитектур Linux. Пакеты для macOS распространяются отдельно. Подробности и полный перечень изменений разработчики приводят в журнале релиза и на странице проекта [Fish Shell 4.9](https://linuxiac.com/fish-shell-4-9-released-with-faster-tab-completion/).

Перед тем как сделать Fish основной оболочкой, стоит протестировать её в текущем терминале. Такой подход позволяет сохранить привычный Bash для существующих сценариев и одновременно оценить новые подсказки, историю команд и режимы редактирования. После проверки можно выполнить Fish Shell 4.9 установка через пакетный менеджер дистрибутива и при необходимости назначить оболочку командой `chsh`.

Обновление 4.9 выглядит преимущественно точечным, однако именно такие изменения заметно влияют на ежедневную работу. Более быстрые подсказки в сетевых каталогах, корректное взаимодействие с Konsole, расширенные описания аббревиатур и исправления сценарного языка делают релиз полезным для разработчиков, системных администраторов и всех, кто регулярно работает в командной строке.

Прокрутить вверх