Спустя 5 лет с момента выхода предыдущей ветки, представлен (http://tiswww.case.edu/php/chet/bash/bashtop.html#CurrentStatus) новый релиз командного интерпретатора Bash (http://tiswww.case.edu/php/chet/bash/bashtop.html) - 4.0. Исходные тексты программы, начиная с данного релиза, распространяются под лицензией GPLv3.
Из новых возможностей (http://tiswww.case.edu/php/chet/bash/NEWS), появившихся в bash 4.0 с момента выпуска прошлого релиза bash 3.2, можно отметить:
- Реализована новая опция "autocd", при включении которой появляется возможность быстрого перехода в директории через ввод имени директории вместо команды (т.е. выполнение в интерактивной оболочке "dir" будет эквивалентно запуску "cd dir");- Если заданная команда не найдена, оболочка теперь пытается выполнить shell функцию с именем "command_not_found_handle", в которую в качестве аргументов передаются параметры не найденной команды;
- Добавлена реализация поддержки ассоциативных массивов, которые мог...URL: http://tiswww.case.edu/php/chet/bash/bashtop.html#CurrentStatus
Новость: http://www.opennet.me/opennews/art.shtml?num=20409
> command_not_found_handleИМХО зря. И так оно не быстро в этом месте работает.
frank@fqc-desktop:~$ time mysql
Программа 'mysql' на данный момент не установлена. Вы можете установить ее, напечатав:
sudo apt-get install mysql-client-5.0
bash: mysql: команда не найденаreal 0m0.207s
user 0m0.140s
sys 0m0.040sfrank@fqc-desktop:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.10
Release: 8.10
Codename: intrepid
> Новая опция "dirspell" позволяет включить механизм корректировкиТеперь совсем забудем как правильно команды пишутся, вполне <Tab> хватало...
> асинхронным выполнением команд добавлено ключевое слово "coproc";Ну на этом можно перестроить весь init
> Ну на этом можно перестроить весь initКому было надо - уже и так его перестроили давно.Я про upstart, initng и подобных...
Дополнения хорошие, жаль, совместимость с предыдущей версией теряется.
Например?!
например с фрибзд!!! это ж надо! gpl3!!! :-D
gcc тоже под gpl3 и чо?
а есть способ настроить перебор вариантов автодополнения по второму табу как в zsh?
>а есть способ настроить перебор вариантов автодополнения по второму табу как в
>zsh?Поставить zsh.
>>а есть способ настроить перебор вариантов автодополнения по второму табу как в
>>zsh?
>
>Поставить zsh.zsh уже стоит, но используется только этот долбанный второй таб, причем использование продвинутого дополнения омрачается хешем, который вообще никак не реагирует на новые исполняемые файлы. Причем использование функции rehash предлагаемое в faq больше похоже на грязный хак чем на решение проблемы. Теперь вопрос: накой ***** мне этот паровоз, если из его функциональности используется всего 1 функция и один бааальшой костыль?
>а есть способ настроить перебор вариантов автодополнения по второму табу как в
>zsh?Это и так есть...
>>а есть способ настроить перебор вариантов автодополнения по второму табу как в
>>zsh?
>
>Это и так есть...а поподробней можно
bash --version
GNU bash, version 3.2.39(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.унету: второй таб повторяет варианты
>>Это и так есть...
>
>а поподробней можно
>унету: второй таб повторяет вариантыА ты как хотел... что б bash мысли читал... :)
# a <TAB><TAB>
Display all 201 possibilities? (y or n)Как выбирать из 201 варианта ???
А для остального используется complete,например
# echo -ne > ~/.bash_completions
# vi ~/.bash_completionscomplete -W "$(echo `cat ~/.ssh/known_hosts | cut -f 1 -d ' ' | sed -e s/,.*//g | uniq | grep -v "\["`;)" ssh
<ESC> : wq# ^D
# ssh <TAB><TAB>
будет из ~/.ssh/known_hosts показывать хосты на которые ходил.
еще раз нужно не показывать варианты нужно ПЕРЕБИРАТЬ.
например
$/m tab
/mnt
/media
$/m tab
$/media
$/media tab
$/mnt
$/mnt tab
$/mediaя не хочу искать различие между 10-ю вариантами если нужный мне просто появиться через два нажатия таба
а про программируемое заполнение и как его активировать не знает разве что ленивый.
> Для дополнения передаваемого следующему процессу стандартного
> вывода потоком ошибок, вместо конструкции "2>&1 теперь можно
> использовать синоним "|&";И зачем этот дубль? Оригинальный вариант 2>&1 в каких-то случаях невозможно применить?
Для csh'истов.
Двумерные массивы не догадались реализовать :-(( Разочарован.
Тем временем некоторые и так открыли для себя zsh. :) Правда, уж если подсаживаться, то стоит давать себе отчёт в zsh-измах и отмечать их соответствующим шебангом.
> Добавлена реализация поддержки ассоциативных массивовА это вообще супер-достижение! В zsh лет 100 (не меньше!) использую ассоциативные массивы! :-)))
>> Добавлена реализация поддержки ассоциативных массивов
>
>А это вообще супер-достижение! В zsh лет 100 (не меньше!) использую ассоциативные
>массивы! :-)))C 1909-ого года? Вау...
>C 1909-ого года? Вау...ZshЪ. Since 1909... :D
а встроенную историю выполнения команд с указанием времени и pid'а хозяина так и не сделали.... :(
Вещь иногда очень нужная, особенно при разборе полетов...
>а встроенную историю выполнения команд с указанием времени и pid'а хозяина так
>и не сделали.... :(
>Вещь иногда очень нужная, особенно при разборе полетов...bash> csh
и плакал твой разбор. Для этого нормальный аудит надо юзать. Оно от шелла не зависит.