The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск командной оболочки fish 3.2

01.03.2021 22:22

Опубликован релиз интерактивной командной оболочки fish 3.2.0 (friendly interactive shell), развивающейся как более дружественная пользователю альтернатива bash и zsh. Fish поддерживает такие возможности как подсветка синтаксиса с автоматическим выявлением ошибок ввода, предложение возможных вариантов ввода на основе истории прошлых операций, автодополнение ввода опций и команд с использованием их описания в man-руководствах, комфортная работа из коробки без необходимости дополнительной настройки, упрощённый язык написания сценариев, поддержка буфера обмена X11, удобные средства поиска в истории выполненных операций. Код проекта распространяется под лицензией GPLv2. Готовые пакеты сформированы для Ubuntu, Debian, Fedora, openSUSE и RHEL.

Среди добавленных новшеств:

  • Добавлена поддержка отката изменений (Undo и Redo) при редактировании командной строки. Undo вызывается через комбинацию Сtrl+Z, а Redo через Alt+/.
  • Встроенные команды теперь выполняют обработку по мере поступления данных, например, операция замены строки начинает вывод сразу, без ожидания поступления всех входных данных. В том числе встроенные команды теперь можно использовать в цепочке команд, передающих данные через неименованные каналы, например "dmesg -w | string match '*usb*'".
  • Если путь в приглашении командной строки не вмещается в ширину строки терминала, он теперь частично обрезается, а не заменяется на ">".
  • Улучшена работа автодополения ввода нажатием Tab (для неоднозначных дополнений сразу выводится список замен без необходимости второй раз нажимать Tab).
  • Добавлена новая вспомогательная функция "fish_add_path" для добавления пути к переменной окружения $PATH, автоматически отсеивающая дубликаты.
  • Обеспечена более наглядная диагностика ошибок при выполнении команды test.
  • В конструкции "$x[$start..$end]" теперь разрешено пропускать значения $start или $end, которые по умолчанию определяются как 1 и -1. Например, echo $var[..] эквивалентно $var[1..-1] и приведёт к выводу от первого до последнего элемента.
  • Значительно повышена производительность многих функций. Расширены возможности функций обработки строк.


  1. Главная ссылка к новости (https://sourceforge.net/p/fish...)
  2. OpenNews: Выпуск командной оболочки fish 3.0
  3. OpenNews: Xonsh - командная оболочка, сочетающая Python с лучшими возможностями Bash, zsh и fish
  4. OpenNews: Релиз командной оболочки zsh 5.1
  5. OpenNews: Релиз командного интерпретатора Bash 5.0
  6. OpenNews: Релиз командного интерпретатора Bash 5.1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54679-fish
Ключевые слова: fish, shell
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (70) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 22:26, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Heh, something fishy...
     
  • 1.2, Денис Попов (?), 22:32, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Использую на винде. Штука классная.
     
     
  • 2.3, Аноним84701 (ok), 22:57, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Использую на винде. Штука классная.
    >>  интерактивной командной оболочки [...] Undo вызывается через комбинацию Сtrl+Z

    С такими дефолтами только там им и пользоваться ...

     
     
  • 3.14, Аноним (-), 23:25, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Но опять же комбинации через опу, ctrl-a не используется
     
  • 3.21, Аноним (21), 00:57, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по описанию, отмена происходит при редактировании командной строки. Остановить foreground process, полагаю, можно как обычно.
     
  • 3.72, я (?), 06:47, 04/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    спору нет, десятка норм.
     
  • 2.4, adolfus (ok), 22:58, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Для винды вполне достаточно CMD.EXE.
     
     
  • 3.9, Аноним (9), 23:12, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >CMD.EXE

    Нет уж...
    Поставить, хотя бы, Msys2 и пользоваться bash.

     
     
  • 4.15, анонэ (?), 23:28, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тогда останется убогий эмулятор терминала. Надо ещё ставить conemu или Windows Terminal.
     
     
  • 5.20, Dzen Python (ok), 00:41, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Clink + ConEmu вполне достаточно, WT он у нас не для винд ниже 10ки
     
  • 4.31, mos87 (ok), 07:37, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    С производительностью дрезины. Винду надо сносить, это единственный путь)
     
  • 3.22, Аноним (21), 00:58, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для винды вполне достаточно powershell.exe. А форточки, где его нет, использовать сейчас не нужно.
     
     
  • 4.24, Псевдоним (??), 01:40, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Да и сами форточки использовать не нужно. Причём давно, ещё до появления ваших мерзких павершеллов (даже баш на его фоне вполне ничего)
     
     
  • 5.26, i (??), 03:10, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Согласен, пытался ps - лютое убожество
     
  • 5.48, Аноним (48), 11:49, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дело вкуса. Мне PS кажется удобней баша с его тоннами костылей и квестов вроде экранирования экранирующих символов. У него идеология "все есть объект", а не "все есть файл", тоже есть удобная справочная система, он из коробки предоставляет больше инструментов (поддерживает большинство всего что есть в CLR), и синтаксис его лично мне понятней и приятней.
    Как небо и земля после баша, и, господи прости, batch. Хоть парсер XML пиши, хоть вебсервер, хоть скрипт запуска службы, и все это из коробки без внешних утилит.
     
     
  • 6.50, Аноним (48), 11:56, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А ещё у него охрененно удобный разбор аргументов для скрипта и функций с поддержкой валидации и разных наборов аргументов. И в нем можно писать строго типизированный код в отличие от bash.
     
  • 6.74, adolfus (ok), 18:26, 04/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Дело вкуса. Мне PS кажется удобней баша с его тоннами костылей и
    > квестов вроде экранирования экранирующих символов. У него идеология "все есть объект",
    > а не "все есть файл",

    Объектно-ориентированный подход к программированию в том виде, в котором он реализован в современных ЯП, к сожалению (а может и к счастью) не дружит с созданием лексеров и парсеров. Да и для потоковой обработки не особо годится.
    Язык программирования, какого уровня бы он не был, должен позволять использовать функционал уровня ISA в той части, где он платформонезависим. Как минимум, это должны быть условные и безусловные переходы. И не только в пределах функции. Напритмер, в С++ вместо трайкеч-маразма лонгджампы куда лучше были бы и удобнее.

     
  • 4.46, Аноним (46), 11:20, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >достаточно powershell

    Никак не пойму, в чем его принципиальное отличие от обычного cmd. И почему нельзя было выпилить cmd с заменой его на ps. Зачем они оба нужны в системе.

     
     
  • 5.61, Аноним (61), 22:59, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для обратной совместимости, очевидно. На cmd понаписано очень много всякого, до сих пор работающего в продакшене у жырного ынтерпрайза. И переписывать его никто не будет.
     
  • 4.63, pofigist (?), 23:16, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Для винды вполне достаточно powershell.exe.

    Может немного внезапно, но для линакса - тоже, только без ехе разумеется. Ну ок - pwsh если быть точным.😁
    https://github.com/PowerShell/PowerShell/releases/

     
     
  • 5.75, Аноним (21), 14:44, 05/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Когда он будет по дефолту в дистрах, тогда и поговорим.
     
  • 2.5, Аноним (5), 23:00, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Когда в винде открывают для себя полноценную командную строку, да, обычно долго сначала пребывают в просветлении.
     
     
  • 3.27, Аноним (27), 06:57, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Полноценная это та, что дает полную свободу действий без унификации, которая ведет к нереальнодлиннымпачкамкоманд чтобы совершить нужное действие. Программисты это понимают, что лучше набрать ls вместо dir, но дауны такое не осилят ибо они же не головой думают, жопой.
     
     
  • 4.32, mos87 (ok), 07:39, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    ls это так устарело... Надо коммандлет cOmmandletFolderViewForMicrosoftTeams.
     
  • 4.33, Аноним (33), 07:52, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Действительно. Там ведь нет команды gal ака Get-Alias. А ещё нет автодополнения по TAB. Да и вообще много чего не предоставляется модулем PSReadLine. Но ты сразу столько информации не осилишь. Не рефлексируй, живи временами cmd.exe
     
  • 3.64, pofigist (?), 23:18, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А уж какой шок испытывают линаксоиды, когда сталкиваются с действительно полноценный командной строкой... Это непередаваемо😂
    Нет не pwsh - cisco разумеется 😁
     

  • 1.6, Аноним (6), 23:01, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Был бы полностью POSIX-совместимый - залез бы и не слезал. А так ну очень не хочется приучаться и нарабатывать память/привычки которые нельзя использовать если ещё где-то с терминалом работать надо.
     
     
  • 2.7, Аноним (5), 23:04, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну как всегда же, ради дружелюбия пользователю (без уточнения уровня грамотности) положили на все остальное.
     
  • 2.13, prokoudine (ok), 23:21, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Году так в 2006 я был на обучении основам администрирования AIX в IBM. Препод стоял у меня за спиной и ржал: "Нет, тут в шелле так нельзя. И так нельзя. И так тоже нельзя".

    POSIX-совместимость, my ass :)

     
     
  • 3.30, mos87 (ok), 07:34, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Школота думает что сидит на позиксе))
     
  • 3.70, Аноним (70), 17:25, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Всякие (b|k|xon|z)sh имеют обратную совместимость с POSIX-shell, но имеют и свои фичи.
    Так-то есть всякие (a|da)sh, более близкие к эталонной реализации.
     
  • 2.77, Аноним (77), 13:42, 07/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На самом деле в мире есть всего два шелла - это bash (он же скоро zsh) и xonsh.

    Bash (в будущем zsh) потому, что стоит везде и админы по нему угорают.

    Xonsh, потому, что гибкость и понятность Python идеальна для расширений и скриптинга и пофиг, что он не полностью posix-совместимый (пока).

    Все остальные шеллы это либо posix-совместимые мутанты, синтаксис которых придумывается так же как названия мебели в Икее (и fish в их числе) - нет особого смысла по ним угорать если везде итак bash/zsh. Либо это какой-нибудь адовый неведомый изврат типа osquery - пишем sql запросы к системе.

     
     
  • 3.78, Аноним (78), 13:45, 07/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Икею не трош!
     

  • 1.8, Аноним (8), 23:07, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > undo

    А sigstop чем посылать теперь?

     
     
  • 2.11, Аноним (11), 23:18, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Как и раньше, через kill(2).
    C-z не посылает SIGSTOP.
     
  • 2.39, Аноним (39), 09:34, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    fish не POSIX совместим
     
  • 2.53, Аноним (53), 12:49, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько я понимаю, имеется в виду, что Ctrl-Z будет делать undo при вводе команд, так что ничего не мешает при работе программ как раньше посылать SIGSTOP.
     

  • 1.10, Аноним (9), 23:16, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >упрощённый язык написания сценариев

    Т.е. fish не совместим с языком сценариев bash?

     
     
  • 2.12, owl (?), 23:20, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет, не совместим
     
  • 2.17, Аноним (17), 23:40, 01/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Баш не нужон
     
     
  • 3.28, Аноним (27), 06:59, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всем плевать на то что тебе нужно или ненужно.
     
     
  • 4.38, Аноним (39), 09:34, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всем плевать на то что тебе нужно или ненужно.
     
     
  • 5.79, Аноним (78), 13:48, 07/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Error: max call stack size was reached
     
  • 3.42, Аноним (42), 10:54, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Но, несмотря на его ненужность, скрипты в опенсорсных проектах ориентированы на bash.
     
  • 2.36, f (??), 09:16, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > #!/usr/bin/env bash
     

  • 1.16, Random (??), 23:36, 01/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Классика!
    First In, Still Here.
     
  • 1.18, Аноним (18), 00:12, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    няшная щель. постоянно гоняю в tmux и tilix, но в chsh все равно zsh
     
     
  • 2.43, Аноним (42), 10:59, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В этом посте все слова после "гоняю" излишни ;)
     

  • 1.25, Аноним (25), 02:55, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    How much is the fish?
     
     
  • 2.68, Аноним (68), 13:14, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    What is love?
    Who let the dogs out?
     

  • 1.29, mos87 (ok), 07:32, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лучше бы bash растормозили.
     
     
  • 2.54, Аноним (70), 13:19, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше tcsh допилить. Собственно, кроме функций в него ничего больше и не нужно добавлять.
     

  • 1.34, Аноним (34), 08:55, 02/03/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

     ....ответы скрыты (3)

  • 1.35, ryoken (ok), 09:14, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>Undo вызывается через комбинацию Сtrl+Z, а Redo через Alt+/.

    Ну тут уже обкашляли вопрос перекидывания запущенной программы в фон :). А чего у них комбинации такие разношёрстные? Это через Ctrl, обратное через Alt..? Унифицировать, не..?

     
     
  • 2.40, Аноним (-), 09:55, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Поэтому что линуксе нельзя унификацию, в новых велосипедах должны быть уникальные органы управления
     

  • 1.37, Аноним (37), 09:21, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Можете пояснить: функция по табу автодополнять, ведь полезная штука, чего жив дебиане ее нет по дефолту?
     
  • 1.41, Последний из могикан (?), 10:47, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Что заметил,снижают порог вхождения в мир UNIX.Считаю это не совсем ок.
     
     
  • 2.44, Аноним (42), 11:02, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Но, к сожалению, это не сильно помогает увеличению доли на десктопе.
     
  • 2.47, Аноним (47), 11:45, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Порог вхождения снизится, когда не надо будет мудохаться в командной строке вообще. Нормальные люди не пишут буковки компьютеру, очнитесь уже от своих стандартов терминалов 80х гг.
     
     
  • 3.59, Павел Отредиез (?), 16:10, 02/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Извини, но на сервере ты с командной строки владеешь системой на 100 процентов.
     
  • 3.80, Fractal cucumber (ok), 06:25, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальные люди пользуются терминалом так как это всегда в миллиард раз удобнее и быстрее чем искать кнопочку и всегда работает.
     

  • 1.52, Аноним (52), 12:16, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Недавно попытался в него, ничо не понял(я домохозяйка, в zsh тоже ничо не понел, но приноровился), поставил через етот ваш omf популярную темку, треугольничков в xterm, urxvt нет и шариков не дали, а в terminator есть, но я им и не пользуюсь особо. нипанятна
     
  • 1.56, Аноним (70), 13:22, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем это лучше xonsh?
     
     
  • 2.76, Аноним (77), 12:32, 07/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем это лучше xonsh?

    Fish придумал некоторые фишки которые потом были имплементированы в zsh и xonsh, поэтому каждый релиз fish интересен и стоит относиться с уважением.
    Вы правы в том, что fish остаётся потомком набившей оскомину семьи Борнов, а xonsh свеж и приятен как интерактивный шелл и для быстрого скриптинга. Не без багов конечно, но уже почти год как я его использую основной оболочкой в linux и очень доволен. Типизация, расширяемость, ммм....

     

  • 1.62, Аноним (61), 23:05, 02/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Проблема у fish, zsh и огромного количества прочих оболочек, что их используют в реальном проде чуть менее, чем никто. Зачем мне тратить время на изучение этих фишей, если у меня на серверах олдскульный ksh гвоздями прибит. И лучше я выучу его особенности, мне за это платят. А у себя на десктопе за глаза хватает баша, mc и наутилуса (или как там его).
     
     
  • 2.71, Аноним (70), 17:28, 03/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы использовать его именно как ИНТЕРАКТИВНЫЙ шелл.
    Скриптата по хорошему должна быть на чистом POSIX shell. Или на всяких перлуапитонах.
     

  • 1.73, Док (?), 10:50, 04/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У всякого инструмента своя область. Fish и zsh отлично интегрируются с git.
    Если вы не программер,  а админ то не рыпайтесь
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру