Доступна (http://fishshell.com/release_notes.html) новая версия интерактивной командной оболочки fish 2.6.0 (http://fishshell.com) (friendly interactive shell), развивающейся как более дружественная пользователю альтернатива bash и zsh. Fish поддерживает такие возможности как подсветка синтаксиса с автоматическим выявлением ошибок ввода, предложение возможных вариантов ввода на основе истории прошлых операций, автодополнение ввода опций и команд с использованием их описания в man-руководствах, комфортная работа из коробки без необходимости дополнительной настройки, упрощённый язык написания сценариев, поддержка буфера обмена X11, удобные средства поиска в истории выполненных операций.В новом выпуске:
- Добавлена команда disown для удаления задач из списка активных фоновых задач текущего shell;- По аналогии с другими shell реализована возможность доступа замещаемых команд (команд, внутри вложенных вызовов, например, "echo -s (git branch | fzf | string trim)") к терминалу, что обеспечивает корректную работу таких утилит как fzf;
- В случае если невозможно определить размер текущего терминала по умолчанию применяется размер 80x24 символов;- Устранена зависимость от внешней реализации команды which;
- Увеличена производительность запуска процессов и отрисовки цветного приглашения ввода, сокращено число задержек из-за блокировок сигналов;
- Клавиша Delete больше не удаляет символы позади текущей позиции как Backspace;
- Добавлено ограничение по загрузке не более 10 Мб данных при вызове read;
- В read добавлены опции: "--silent" для скрытия вводимых символов и "--prompt-str" для определения текста приглашения ввода;
- Реализована поддержка автодополнения ввода для многих приложений, включая flatpak, gradle, gsettings, ipset и xinput.
URL: https://fishshell.com/release_notes.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=46815
Отличная оболочка, использую уже 3 года, полностью доволен
> Отличная оболочка, использую уже 3 года, полностью доволенНе использую 4 года, полностью доволен.
Зачем тогда заходишь в новости о фише?
Не использует птмчт
rm -rf somefiles* со звездочкой у меня не пахали на ней, вроде по маске должно удалять кучу файлов, но нет, в фиш это не работало, отчего и свалил обратно на баш, а так да, клево, настраивал там всякие грувбоксы и колорайзеры под него, не помню как уже называлось это добро для гита с самого гита бралось ;)...
> Клавиша Delete больше не удаляет символы позади текущей позиции как BackspaceЧаво?
Update: A, нашёл. Оказалось, что в 2.5 внесли регрессию и Delete стала удалять не в ту сторону. А в 2.6 вернули как положено.
5 лет уже использую, самый удобный шелл (для меня).
Не bash-совместимая, удалил сразу после того, как понял, что && здесь работает не так. Причем они об этом прямым текстом написали, типо: "не, браток, здесь && не испольлзуй, ^^ испольлзуй. Почему? Потому что".
Да, весьма достаёт, что fish не расширяет функционал обычных шеллов (читай: "функционал bash-а"), а изменяет. Иногда из-под fish-a приходится делать bash -c '...'.
fish как раз расширяет функционал обычных шеллов (sh), а bash это такой же расширяльщик обычных шелов как и fish, к тому же тормозной.
Нечего совать свой bash везде.
>fish как раз расширяет функционал обычных шеллов (sh)Даже любопытно стало, в каком обычном шеле не используется && в качестве "AND" оператора?
> fish как раз расширяет функционал обычных шеллов (sh), а bash это
> такой же расширяльщик обычных шелов как и fish, к тому же тормозной.
> Нечего совать свой bash везде.Не имею ничего против sh хотя бы потому, что я его никогда не видел.
ll /bin/sh
lrwxrwxrwx 1 root root 4 May 23 14:08 /bin/sh -> dash*Поэтому "обычным шеллом" для меня является bash.
> Не имею ничего против sh хотя бы потому, что я его никогда не видел.если сильно хотите посмотреть -- возьмите solaris 10 в виртуалбокс-формате. впрочем, не стоит оно того -- там тоска и разочарование вместо /bin/sh (да-да, там pre-posix shell из 80-х, bug-for-bug compatibility и всё такое. в 11-ке оракл от него избавился).
> в 11-ке оракл от него избавился).ну, т.е. переложил из /bin. в 11-ке на него тоже можно посмотреть: /usr/sunos/bin/sh
Если тебе нужен bash - используй bash, в чём проблема?
Отличная штука, никакой конфигурации не нужно: поставил и забыл. Разве что не совместима с bash, но различия при необходимости можно обойти, круто что добавили наконец "возможность доступа замещаемых команд".
> "возможность доступа замещаемых команд".Это называется макроподстановка вывода.
В sh $(command)Command Substitution
Command substitution allows the output of a command to be substituted in
place of the command name itself. Command substitution occurs when the
command is enclosed as follows:$(command)
or the backquoted version:
`command`
The shell expands the command substitution by executing command and
replacing the command substitution with the standard output of the
command, removing sequences of one or more newlines at the end of the
substitution.
> возможность доступа замещаемых команд К ТЕРМИНАЛУ
>> возможность доступа замещаемых команд К ТЕРМИНАЛУа до этого было невозможно получить доступ? бедные...
Тут речь о др. То о чём вы говорите, было всегда.
Отличная штука для хипстоты. Особенно для любителей запускать скрипты bash-совместимые. Хипстота имеет радости полные штаны, ведь у них постоянно что-то отваливается и не работает :)
Только бородатым админам нужны портянки скриптов. Некоторым хватает простых отлично оформленных функций, которые через месяц прочитать не проблема. Особенно если работаешь на Python
> Только бородатым админам нужны портянки скриптов. Некоторым хватает простых отлично оформленных
> функций, которые через месяц прочитать не проблема. Особенно если работаешь на
> PythonПример объектно-ориентированного программирования на shell
https://github.com/churchers/vm-bhyve
Просто отвратительно, для этого нужно нормальные языки использовать
Уж кто бы говорил про нормальность...
> Просто отвратительно, для этого нужно нормальные языки использоватькритерии "нормальности" напиши пожалуйста.
Никто не запускает баш-скрипты фишем. Он только для ручного ввода команд, в консольке.
Но можно и фиш-скрипты писать. Я так не делаю, правда.*довольный пользователь*
> Никто не запускает баш-скрипты фишем. Он только для ручного ввода команд, в
> консольке.
> Но можно и фиш-скрипты писать. Я так не делаю, правда.Угу. Так и предсталяю "Ой, а на этой машине fish не утановлен."
>> Никто не запускает баш-скрипты фишем. Он только для ручного ввода команд, в
>> консольке.
>> Но можно и фиш-скрипты писать. Я так не делаю, правда.
> Угу. Так и предсталяю "Ой, а на этой машине fish не утановлен."Вы что на Марсе, где нет ещё Интернета?
>>> Никто не запускает баш-скрипты фишем. Он только для ручного ввода команд, в
>>> консольке.
>>> Но можно и фиш-скрипты писать. Я так не делаю, правда.
>> Угу. Так и предсталяю "Ой, а на этой машине fish не утановлен."
> Вы что на Марсе, где нет ещё Интернета?За МКАДом жизни нет.
>>> Никто не запускает баш-скрипты фишем. Он только для ручного ввода команд, в
>>> консольке.
>>> Но можно и фиш-скрипты писать. Я так не делаю, правда.
>> Угу. Так и предсталяю "Ой, а на этой машине fish не утановлен."
> Вы что на Марсе, где нет ещё Интернета?по проектам 8/10 машин в интрасети, и не обновляються без причин - ибо 24/7 и вообще глобализм
подключение к интернет из интранет далеко не всегда
среднее количество по конторе от 10 до 200 виртуальных машин
физически иногда в цоде у хз где, только саппорт знаети ты тут такой "ой, мне бы интернетик на те 15 машинок, очень хочеться притянуть всякой дряни и воообще обновиться"
> Угу. Так и предсталяю "Ой, а на этой машине только powershell утановлен."Быстрофикс аргументации.
Хотя да, шелл на питоне действительно особо минималистичным пока еще назвать не получается (но хипстота работает над этим, старательно отдельные компоненты типа эмуляторов терминалов на яваскрипте).
> Отличная штука для хипстоты.Это да, питон он такой.
> Особенно для любителей запускать скрипты bash-совместимые.Это если хипстота не слышала о различиях между интерактивной оболочкой и скриптовой (а она есть даже в одном и том же sh - см. ман и опции типа -i) :)
Тот же zsh (без хипстерских "о май zsh!") вполне себе удобен, но вот запускать им скрипты - увольте.> Хипстота имеет радости полные штаны, ведь у них постоянно что-то отваливается
> и не работает :)Кроме интерактивности, ходят еще байки о том, что можно держать целую кучу шеллов (sh,mksh,dash,zsh,bash, т.д.) на одной машине. Врут все наверное!
Пытался использовать. Использовал пару месяцев, но потом надоело, что копируемые из интернета баш-команды приходится переформулировать на фише, и тоже удалил.
Удали Linux, там CMD команды не работают.
Что такое CMD?
А знаменитый однострочник на перле хоть работает?
> копируемые из интернета командыВся суть отписавшихся в этой новости башезависимых админов ноутбука.
>> копируемые из интернета команды
> Вся суть отписавшихся в этой новости башезависимых админов ноутбука.Угу.
Вообще-то цивилизация строиться на библиотеках.
В системе проблема, у тебя стоит и матюгается очередь пассажиров/колонна машин/производство, в сети есть решениеа ты так на лету синтаксис в fish переписываешь
"ой, что-то не так работает"Tут тебе и будет https://en.wikipedia.org/wiki/Brainfuck
Отличное решение при проблемах - копипаста с интернетов. Браво!!!
А ты из той секты, которая запрещает пользоваться копированием и вставкой? Господь Саваоф велит перепечатывать символы, а буфер обмена только для религиозных текстов? А по субботам наверное еще и на кнопки нажимать нельзя?
Когда горит - конечно полный запрет копипасты. Буфер обмена у меня для моего проверенного кода
Допустим, у тебя Fedora, и ты заходишь в какой-нибудь https://rpmfusion.org/Configuration#Command_Line_Setup_using... , чтобы установить себе нескучный репозиторий. Копируешь в свой нескучный фиш команду -- а вот хрен тебе, иди переформулируй специально для нескучного синтаксиса фиша. И таких ситуаций было слишком много для нескучного автокомплита, так что я порешал, что лучше без автокомплита, но с нормальным распространенным интерпретатором.
И что? там всего лишь надо удалить знак долара с первой команды, остальные работают и так. Проблемы нет от слова совсем, есть только упаротые фонатики
Здесь удалить знак доллара, там изменить синтаксис временного выставления env variable, сям сделать еще что-то. Даже на бальном скопированномcmake . -DRUN_IN_PLACE=TRUE && make -j2
приходится вначале стрелочками передвинуться к && и заменить его. Мелочи, конечно, именно потому, что это мелочи, меня и хватило не на два дня, а на два месяца. А твоя чаша терпения видать просто еще не успела переполниться.
> стрелочками передвинуться к &&Некоторые могут осилить vi mode и работать быстрее.
То есть "вставить из буфера обмена + vi mode + подправить &&" будет быстрее, чем просто "вставить из буфера обмена"? Удивительные вещи рассказываешь.> работать быстрее
> работать быстрее
> Отличное решение при проблемах - копипаста с интернетов. Браво!!!а у тебя работающий код под носом - не _копипаст_ с интернетов?
или ты сам написал все с нуля, все 5 гигабайт кода?а сайт разработчика, с типовыми решениями - это еще "копипаста с интернетов", или внезапно нет?
а базы знаний и кода нынче базируется на телепатической сети, интернет уже не моден?ты хоть сам понял, какую чушь написал?
Хороший шел, но, увы, completion для некоторых нужных мне утилит устаревший или отсутствует как класс. Поэтому удолил и поставил oh-my-zsh.
для fish есть аналог oh-my-zsh — oh-my-fish(https://github.com/oh-my-fish/oh-my-fish).
Есть ли под fish аналог oh-my-zsh?
Для fish есть аналог oh-my-zsh — oh-my-fish(https://github.com/oh-my-fish/oh-my-fish).
Вы будете смеяться, а мне ни bash ни zsh не нужен, я прекрасно чувствую себя на обычном sh...
> Вы будете смеятьсяХа-ха-ха, Сергей. Ха-ха-ха.
Так он же (2.6.0) больше месяца назад вышел?
Release Notes for fish 2.6.0 (released June 3, 2017)Кто-то июнь с июлем путает? Лучше бы "запилил" "новость" про релиз Linux kernel 4.0
Отличная оболочка, не использую, полностью доволен
fish как красивая баба. Можно наслаждаться ее внешним видом, но в жены для повседневного использования все равно возьмешь стабильную bash.
Набираю название команды в fish- о! отлично подсказка - жму Tab, чтоб подставилось предлагаемое слово - слово исчезает - удаляю fish.
она не табом, а end-ом подтвердается (ctrl+e). у zsh-autosuggestions ровно та же логика работы.