LINUX.ORG.RU

Релиз fish 2.0

 ,


1

1

17 мая 2013 года прошел релиз командной оболочки fish, что был обозначен версией 2.0.

Из основных нововведений, пришедших с этим выпуском:

  • Исправление случаев некорректного поведения переменной $status.
  • Прекращено использование многоточия для «разрыва» длинных строк.
  • Добавлена поддержка синтаксической конструкции else if.
  • Добавлена возможность использования правосторонней строки приглашения (promt).
  • Повышена совместимость с эмулятором терминалов rxvt.

Также было внесено еще множество различных изменений и исправлений, с которыми вы можете более подробно ознакомиться по ссылкам в конце новости.

fish (friendly interactive shell) — командная оболочка для Unix-подобных операционных систем. К её отличительным качествам можно отнести подсветку синтаксиса и продвинутое автодополнение. Одно из нововведений fish являются так называемые универсальные переменные, вводимые с помощью конструкции вида set -U переменная значение. Такие переменные разделяются между всеми экземплярами fish на данном компьютере и позволяют осуществлять обмен информацией между ними.

Один из слоганов проекта «Works Out Of The Box», который закрепляется политикой того, что для начала комфортного использования данной командной оболочки, нет необходимости изучать настройки и проводить конфигурацию. Все базовые возможности и функции включены по умолчанию. Для более тонкой настройки проект снабжен подробнейшей документацией.

Страница проекта

>>> Подробности

В нем что, нельзя писать регулярки в командах?

fish: The '$' begins a variable name. It was given at the end of an argument. Variable names may not be zero characters long. To learn more about variable expansion in fish, type 'help expand-variable'.
eix ^fish$
     ^
iron@IRON ~> eix ^fish$
А вот это вообще весело:
iron@IRON ~> ps aux | grep ^iron
iron@IRON ~>

iron ★★★★★ ()
Ответ на: комментарий от iron

А вот это вообще весело:

iron@IRON ~> ps aux | grep ^iron
iron@IRON ~>

Авторы fish считают, что крышечка — это хорошая замена для `2>` (перенаправления stderr). 2> тоже работает. Учитывая «удобство» расположения крышечки в раскладке US в таком «short»cut’е смысла не вижу.

В нем что, нельзя писать регулярки в командах?

Можно. Только их нужно экранировать. Здесь считается, что «explicit is better then implicit»: если вы хотите знак доллара, вы должны указать, что хотите именно его, а не забыли написать имя переменной или случайно поставили пробел.

Поведение zsh мне в этом отношении кажется удобнее, но если бы это был не язык для оболочки, а какой‐нибудь язык общего назначения, то я бы сказал, что они правы.

ZyX ()
Ответ на: комментарий от ZyX

Можно. Только их нужно экранировать. Здесь считается, что «explicit is better then implicit»: если вы хотите знак доллара, вы должны указать, что хотите именно его, а не забыли написать имя переменной или случайно поставили пробел.

Спасибо за подсказку. Действительно, вот так все работает:

eix \^fish\$
ps aux | grep \^iron

iron ★★★★★ ()
Ответ на: комментарий от iron

Может еще подскажите как сделать, чтоб по кнопке «Home» прыгало в начало строки и по «End» в конец?

В /etc/inputrc:

"\e[7~": beginning-of-line
"\e[8~": end-of-line
В bash работает. Не понятно почему тут не работает.

iron ★★★★★ ()
Ответ на: комментарий от Loki13

А «пробывать» и «будующем» не смутили? Хотя крация шикарна, это да.

anonymous ()
Ответ на: комментарий от iron

/etc/inputrc — это конфиг для readline. Для сложных задач readline лучше не использовать; как fish, так и zsh этого не делают: подсветку синтаксиса, к примеру, вы с readline не получите.

ZyX ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.