URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 92350
[ Назад ]

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

Отправлено opennews , 29-Окт-13 10:34 
Вышла (http://fishshell.com/release_notes.html) новая версия интерактивной командной оболочки fish 2.1.0 (http://fishshell.com) (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 %" можно активировать последний фоновый процесс.


URL: http://fishshell.com/release_notes.html
Новость: http://www.opennet.me/opennews/art.shtml?num=38280


Содержание

Сообщения в этом обсуждении
"Увидела свет командная оболочка fish 2.1.0 "
Отправлено A.Stahl , 29-Окт-13 10:34 
>автодополнение ввода опций и команд с использованием их описания в man-руководствах

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


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Виктор , 29-Окт-13 10:43 
Очень хорошая вещь, из минусов напрягает отсутствие && , а точнее замена его на ;

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено бедный буратино , 29-Окт-13 11:05 
> Очень хорошая вещь, из минусов напрягает отсутствие && , а точнее замена
> его на ;

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


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено BlakeR , 29-Окт-13 11:26 
Не совсем замена && на ; - там надо использовать конструкции `; and` и `; or`:

$ true; and echo true; or echo false
true

$ false; and echo true; or echo false
false


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Гость , 29-Окт-13 14:36 
а что, прикольно.. и выглядит логично

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Andrey Mitrofanov , 29-Окт-13 16:38 
> а что, прикольно.. и выглядит логично

#!/bin/bash

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



"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 11:05 
Ох щит. Спасибо за новость, даже не знал что такое есть, смарт-консоль, надо потестить!

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено YetAnotherOnanym , 29-Окт-13 13:35 
> ooba подходит для foobar ... fbr подходит для foobar

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


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено анононо , 29-Окт-13 14:36 
Тебя заставляют таб нажимать?

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Мяут , 29-Окт-13 16:48 
... ls подходит для rm

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 14:13 
С этими супервозможностями легко перемудрить. А вот простой системы, где лог был бы разделён от поля с командами я так и не нашёл в unix подобных системах.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Гость , 29-Окт-13 14:42 
Э.. т.е.?

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 16:48 
Он хочет stdout и stderr отдельно от ввода команд.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 16:07 
ЧЁ-Ё-Ё-?!

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 18:37 
К сожалению большинство разработчиков реагируют приблизительно так. И вместо того, чтобы реализовать идею, доказавшую своё удобство ещё 30 лет назад, в очередной раз делают в конечном итоге эмулятор телеграфа.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 19:16 
Видимо, "доказательство удобства" с точки зрения большинства разработчиков (да и пользователей) оказалось неубедительным.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 21:10 
> Видимо, "доказательство удобства" с точки зрения большинства разработчиков (да и пользователей)
> оказалось неубедительным.

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



"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 30-Окт-13 00:06 
> Достаточно воинственного незнания вкупе с ощущением собственной важности

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


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 30-Окт-13 11:43 
Эту идею давно оценили многие люди, включая близких к истокам UNIX, например небезызвестный Роб Пайк. Они понимают, что нельзя только подслащивать старые идеи, но и необходимо развивать новые. Современный терминал - это выверенный, хорошо смазанный паровой двигатель, мне нужен электромотор. Но мой интерес как разработчика сейчас лежит в в другой области, так что я пока и с паровым движителем покатаюсь, корона не упадёт - у меня её нет.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним ЗБС , 03-Ноя-13 13:30 
Аналогия с паровым двигателем не уместна.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено PereresusNeVlezaetBuggy , 29-Окт-13 19:19 
> С этими супервозможностями легко перемудрить. А вот простой системы, где лог был
> бы разделён от поля с командами я так и не нашёл
> в unix подобных системах.

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


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 21:05 
Хочется видеть минимум две области. Область для ввода команд является нормальным редактором, куда можно вводить что угодно. Выбор команды определяется: вызовом горячей клавиши на текущей строке, кликом правой/средней клавиши мышки, либо CTRL + левой. Вывод команды осуществляется во второе окно - лог, в котором как минимум доступен нормальный поиск, возможен опять таки нормальный редактор. Во время работы команды возможна блокировка возможности вызова других команд из той же области, но не редактирования. Область ввода доступна для сохранения и загрузки в файл, лог доступен для сохранения. Остальные вещи нужно обдумывать подробней.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено PereresusNeVlezaetBuggy , 29-Окт-13 21:17 
> Хочется видеть минимум две области. Область для ввода команд является нормальным редактором,
> куда можно вводить что угодно. Выбор команды определяется: вызовом горячей клавиши
> на текущей строке, кликом правой/средней клавиши мышки, либо CTRL + левой.
> Вывод команды осуществляется во второе окно - лог, в котором как
> минимум доступен нормальный поиск, возможен опять таки нормальный редактор. Во время
> работы команды возможна блокировка возможности вызова других команд из той же
> области, но не редактирования. Область ввода доступна для сохранения и загрузки
> в файл, лог доступен для сохранения. Остальные вещи нужно обдумывать подробней.

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


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 21:25 
> А ведь по сути получается классическое окно чата. :)

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



"Увидела свет командная оболочка fish 2.1.0 "
Отправлено PereresusNeVlezaetBuggy , 29-Окт-13 21:28 
>> А ведь по сути получается классическое окно чата. :)
> Не совсем, после вызова команды, содержимое окна с командами сохраняется. Уже не
> классическое :)

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


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 30-Окт-13 00:07 
Подумав немного, пришёл к выводу, что как раз наоборот- обычный терминал и есть что- то вроде чатика, только поле ввода визуально не отделено от диалога.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 30-Окт-13 00:09 
> Хочется видеть минимум две области. Область для ввода команд является нормальным редактором,
> куда можно вводить что угодно. Выбор команды определяется: вызовом горячей клавиши
> на текущей строке, кликом правой/средней клавиши мышки, либо CTRL + левой.
> Вывод команды осуществляется во второе окно - лог, в котором как
> минимум доступен нормальный поиск, возможен опять таки нормальный редактор. Во время
> работы команды возможна блокировка возможности вызова других команд из той же
> области, но не редактирования. Область ввода доступна для сохранения и загрузки
> в файл, лог доступен для сохранения. Остальные вещи нужно обдумывать подробней.

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


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 30-Окт-13 10:16 
Описанная возможность является ортогональной для обоих подходов, и точно не заменяет новый способ взаимодействия.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Crazy Alex , 29-Окт-13 21:50 
Там много чего надо бы. Например - держать выхлоп отдельных команд как разные сущности, причем, разумеется, уметь ими оперировать,  вплоть до сохранения всего этого безобразия между сессиями.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 17:50 
Умные ОСи, умные броузеры, умный bash (т.е. fish). Интересно, а когда разработают умного пользователя, именно пользователя? Уже совсем отупели, надеюсь при использовании умного шелл, мы не отупеем окончательно.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено egress , 29-Окт-13 18:58 
Ну, отупеть можно с использованием и тупой ОС, просто человек может знать только ОС и ничего вокруг, так как это займет у него много времени.

"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Crazy Alex , 29-Окт-13 21:57 
Умный пользователь появится, когда интерфейс будет адекватен его задачам. Когда имеем две парадигмы "учи, собака, маны" и "нажми на кнопку - всё сделают за тебя", во-первых, порог вхождения получается запредельным относительно любого результата "здесь и сейчас" (то есть кривая обучения неудачная), во-вторых, рутине уделяется больше сил, чем собственно формулировке задачи. Ну да, можно авком с грепом гонять выхлоп find чтобы получить что-то нужное - но для этого нужно знать гору всего про find, организацию fs, awk и тому подобное - причем зачем-то пользователю придётся думать о том, каким символом раззделяются аргументы и тому подобной низкоуровневой для него мути.

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


"Увидела свет командная оболочка fish 2.1.0 "
Отправлено Аноним , 29-Окт-13 18:51 
пригодится на будущее делают