The OpenNET Project / Index page

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

Увидела свет командная оболочка fish 2.1.0

29.10.2013 10:03

Вышла новая версия интерактивной командной оболочки fish 2.1.0 (friendly interactive shell), развивающейся как более дружественная пользователю альтернатива bash и zsh. Fish поддерживает такие возможности как подсветка синтаксиса с автоматическим выявлением ошибок ввода, предложение возможных вариантов ввода на основе истории прошлых операций, автодополнение ввода опций и команд с использованием их описания в man-руководствах, комфортная работа из коробки без необходимости дополнительной настройки, упрощённый язык написания сценариев, поддержка буфера обмена X11, удобные средства поиска в истории выполненных операций.

В новой версии:

  • Реализована продвинутая логика автодополнения имён файлов по нажатию клавиши Tab: вначале осуществляется сопоставление по совпадению в начале имени (foo подходит для foobar), если файлов не найдено осуществляется оценка вхождения подстроки (ooba подходит для foobar), при неудаче осуществляется поиск на уровне отдельных символов (fbr подходит для foobar).
  • Обеспечена возможность перенаправления вывода внутри операций с неименованными каналами. Например, можно направить в канал одновременно stderr и stdout: "cmd 2>&1 | tee log.txt".
  • Обособленное использование спецсимвола "%" теперь приводит к подстановке PID последней фоновой работы, а не всех фоновых работ как раньше. Например, командой "fg %" можно активировать последний фоновый процесс.


  1. Главная ссылка к новости (http://fishshell.com/release_n...)
  2. OpenNews: Увидела свет командная оболочка fish 2.0.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38280-fish
Ключевые слова: fish, shell
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (?), 10:34, 29/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    >автодополнение ввода опций и команд с использованием их описания в man-руководствах

    Разумеется я не побегу компилировать эту рыбу, но... это круто.

     
     
  • 2.2, Виктор (??), 10:43, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень хорошая вещь, из минусов напрягает отсутствие && , а точнее замена его на ;
     
     
  • 3.3, бедный буратино (ok), 11:05, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Очень хорошая вещь, из минусов напрягает отсутствие && , а точнее замена
    > его на ;

    а на что там тогда заменён сам ';'?

     
     
  • 4.5, BlakeR (?), 11:26, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не совсем замена && на ; - там надо использовать конструкции '; and' и '; or':

    $ true; and echo true; or echo false
    true

    $ false; and echo true; or echo false
    false

     
     
  • 5.8, Гость (?), 14:36, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а что, прикольно.. и выглядит логично
     
     
  • 6.12, Andrey Mitrofanov (?), 16:38, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > а что, прикольно.. и выглядит логично

    [CODE]#!/bin/bash

    and() { [ $? == 0 ] && $*; }
    or() { [ $? == 0 ] || $*; }[/CODE]

     

  • 1.4, Аноним (-), 11:05, 29/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ох щит. Спасибо за новость, даже не знал что такое есть, смарт-консоль, надо потестить!
     
  • 1.6, YetAnotherOnanym (ok), 13:35, 29/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > ooba подходит для foobar ... fbr подходит для foobar

    Что-то мне это не нравится...

     
     
  • 2.9, анононо (?), 14:36, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тебя заставляют таб нажимать?
     
  • 2.14, Мяут (ok), 16:48, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ... ls подходит для rm
     

  • 1.7, Аноним (-), 14:13, 29/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    С этими супервозможностями легко перемудрить. А вот простой системы, где лог был бы разделён от поля с командами я так и не нашёл в unix подобных системах.
     
     
  • 2.10, Гость (?), 14:42, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Э.. т.е.?
     
     
  • 3.13, Аноним (-), 16:48, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он хочет stdout и stderr отдельно от ввода команд.
     
  • 2.11, Аноним (-), 16:07, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    ЧЁ-Ё-Ё-?!
     
     
  • 3.16, Аноним (-), 18:37, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению большинство разработчиков реагируют приблизительно так. И вместо того, чтобы реализовать идею, доказавшую своё удобство ещё 30 лет назад, в очередной раз делают в конечном итоге эмулятор телеграфа.
     
     
  • 4.19, Аноним (-), 19:16, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Видимо, "доказательство удобства" с точки зрения большинства разработчиков (да и пользователей) оказалось неубедительным.
     
     
  • 5.22, Аноним (-), 21:10, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Видимо, "доказательство удобства" с точки зрения большинства разработчиков (да и пользователей)
    > оказалось неубедительным.

    Достаточно воинственного незнания вкупе с ощущением собственной важности от приобщения к действительно полезному инструменту за счёт мощности и гибкости, но не самым простым и удобным способом взаимодействия, отпугивающим "простых" пользователей.


     
     
  • 6.29, Аноним (-), 00:06, 30/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Достаточно воинственного незнания вкупе с ощущением собственной важности

    Вы забыли написать, что ваша фамилия Д'Артаньян.

     
     
  • 7.33, Аноним (-), 11:43, 30/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эту идею давно оценили многие люди, включая близких к истокам UNIX, например небезызвестный Роб Пайк. Они понимают, что нельзя только подслащивать старые идеи, но и необходимо развивать новые. Современный терминал - это выверенный, хорошо смазанный паровой двигатель, мне нужен электромотор. Но мой интерес как разработчика сейчас лежит в в другой области, так что я пока и с паровым движителем покатаюсь, корона не упадёт - у меня её нет.
     
     
  • 8.34, Аноним ЗБС (?), 13:30, 03/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Аналогия с паровым двигателем не уместна ... текст свёрнут, показать
     
  • 2.20, PereresusNeVlezaetBuggy (ok), 19:19, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > С этими супервозможностями легко перемудрить. А вот простой системы, где лог был
    > бы разделён от поля с командами я так и не нашёл
    > в unix подобных системах.

    То есть вы хотите получать вывод команд асинхронно с их вводом? Я не критикую, я хочу понять.

     
     
  • 3.21, Аноним (-), 21:05, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хочется видеть минимум две области. Область для ввода команд является нормальным редактором, куда можно вводить что угодно. Выбор команды определяется: вызовом горячей клавиши на текущей строке, кликом правой/средней клавиши мышки, либо CTRL + левой. Вывод команды осуществляется во второе окно - лог, в котором как минимум доступен нормальный поиск, возможен опять таки нормальный редактор. Во время работы команды возможна блокировка возможности вызова других команд из той же области, но не редактирования. Область ввода доступна для сохранения и загрузки в файл, лог доступен для сохранения. Остальные вещи нужно обдумывать подробней.
     
     
  • 4.23, PereresusNeVlezaetBuggy (ok), 21:17, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Хочется видеть минимум две области. Область для ввода команд является нормальным редактором,
    > куда можно вводить что угодно. Выбор команды определяется: вызовом горячей клавиши
    > на текущей строке, кликом правой/средней клавиши мышки, либо CTRL + левой.
    > Вывод команды осуществляется во второе окно - лог, в котором как
    > минимум доступен нормальный поиск, возможен опять таки нормальный редактор. Во время
    > работы команды возможна блокировка возможности вызова других команд из той же
    > области, но не редактирования. Область ввода доступна для сохранения и загрузки
    > в файл, лог доступен для сохранения. Остальные вещи нужно обдумывать подробней.

    А ведь по сути получается классическое окно чата. :)

     
     
  • 5.24, Аноним (-), 21:25, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А ведь по сути получается классическое окно чата. :)

    Не совсем, после вызова команды, содержимое окна с командами сохраняется. Уже не классическое :)


     
     
  • 6.25, PereresusNeVlezaetBuggy (ok), 21:28, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> А ведь по сути получается классическое окно чата. :)
    > Не совсем, после вызова команды, содержимое окна с командами сохраняется. Уже не
    > классическое :)

    В Kopete введённые сообщения сохраняются, например. :) Но не суть. Главное, это уже есть готовое. Берём jabber-бота... ;)

     
     
  • 7.30, Аноним (-), 00:07, 30/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Подумав немного, пришёл к выводу, что как раз наоборот- обычный терминал и есть что- то вроде чатика, только поле ввода визуально не отделено от диалога.
     
  • 4.31, Аноним (-), 00:09, 30/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Хочется видеть минимум две области. Область для ввода команд является нормальным редактором,
    > куда можно вводить что угодно. Выбор команды определяется: вызовом горячей клавиши
    > на текущей строке, кликом правой/средней клавиши мышки, либо CTRL + левой.
    > Вывод команды осуществляется во второе окно - лог, в котором как
    > минимум доступен нормальный поиск, возможен опять таки нормальный редактор. Во время
    > работы команды возможна блокировка возможности вызова других команд из той же
    > области, но не редактирования. Область ввода доступна для сохранения и загрузки
    > в файл, лог доступен для сохранения. Остальные вещи нужно обдумывать подробней.

    В матлабе (и его аналогах) сделано интереснее - ввод и вывод в общей консоли, а вот история - в отдельном окошке сбоку. Также в таких окошках можно вывести просмотрщик/редактор списка переменных окружения и содержимое текущего каталога.

     
     
  • 5.32, Аноним (-), 10:16, 30/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Описанная возможность является ортогональной для обоих подходов, и точно не заменяет новый способ взаимодействия.
     
  • 2.26, Crazy Alex (ok), 21:50, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Там много чего надо бы. Например - держать выхлоп отдельных команд как разные сущности, причем, разумеется, уметь ими оперировать,  вплоть до сохранения всего этого безобразия между сессиями.
     

  • 1.15, Аноним (-), 17:50, 29/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Умные ОСи, умные броузеры, умный bash (т.е. fish). Интересно, а когда разработают умного пользователя, именно пользователя? Уже совсем отупели, надеюсь при использовании умного шелл, мы не отупеем окончательно.
     
     
  • 2.18, egress (ok), 18:58, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, отупеть можно с использованием и тупой ОС, просто человек может знать только ОС и ничего вокруг, так как это займет у него много времени.
     
  • 2.27, Crazy Alex (ok), 21:57, 29/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Умный пользователь появится, когда интерфейс будет адекватен его задачам. Когда имеем две парадигмы "учи, собака, маны" и "нажми на кнопку - всё сделают за тебя", во-первых, порог вхождения получается запредельным относительно любого результата "здесь и сейчас" (то есть кривая обучения неудачная), во-вторых, рутине уделяется больше сил, чем собственно формулировке задачи. Ну да, можно авком с грепом гонять выхлоп find чтобы получить что-то нужное - но для этого нужно знать гору всего про find, организацию fs, awk и тому подобное - причем зачем-то пользователю придётся думать о том, каким символом раззделяются аргументы и тому подобной низкоуровневой для него мути.

    fish - шаг в принципе в верном направлении, осталось научить его быть терминалом либо взаимодействовать с ним, и понять, что ман - это хреновый источник информации для подсказок, надо формировать свои.

     

  • 1.17, Аноним (-), 18:51, 29/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    пригодится на будущее делают
     

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



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

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