LINUX.ORG.RU

bash-completion 2.0

 ,


1

1

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

В новой версии произошли следующие изменения:

  • Прекращена поддержка bash < 4.1. За счёт этого было убрано множество «костылей», обходящих ошибки в более ранних версиях bash.
  • Задействована, появившаяся в bash-4.0, функция динамической подгрузки дополнений. Если раньше при запуске командной оболочки загружались все доступные дополнения, что приводило к неприятной задержке на старте, то сейчас сначала загружается только базовая часть, а сами дополнения только при первом использовании соответствующих команд.
  • Множество других мелких улучшений направленных на ускорение работы дополнений.
  • Все сценарии bash-completion теперь устанавливаются не в /etc, в /usr.
  • Добавлено множество новых дополнений: a2x, arping, asciidoc, base64, cal, chrpath, cppcheck, curl, dmesg, dot, file, gnome-mplayer, gprof, hddtemp, host, htpasswd, idn, ionice, jps, lbunzip2, lbzip2, lbzcat, prelink, protoc, pwdx, pwgen, reptyr, sum, watch, phing, pinfo, sbopkg, pkgtool, makepkg, rmp2tgz, slapt-get, slapt-src, slackpkg, kcov, feh, xgamma, fbi, fbgs, puppet, epdfview, lpr, lpq, mysql, plague-client, desktop-file-validate, valgrind, ccache, iperf, koji, lzip, udevadm, htop, nethogs, acpi, hwclock, pwd, ssh-add, vmstat.
  • Значительно улучшена поддержка Slackware: добавлены дополнения для системных утилит, учтены особенности расположения сценариев инициализации системы.
  • Добавлены linux-специфичные версии дополнений для mount, umount и su.
  • Исправлено множество ошибок. В том числе значительно улучшена поддержка дополнений для команд, принимающих в качестве аргументов другие команды.

Полный список изменений

>>> Сайт проекта



Проверено: maxcom ()
Последнее исправление: thelonelyisland (всего исправлений: 1)
Ответ на: комментарий от vurdalak

Это примерно как требовать стандарт на то, что большинство людей — праворуки. Улавливаешь?

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

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

Улавливаешь?

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

Тем не менее так всё и делается, а для девиантов оставляют простор для самоудовлетворения — никакой дискриминации, всё в исходниках.

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

Так делается только в твоем воображении, а IRL так делается просто чуть чаще, но далеко не всегда.

Опять же, при наличии юникода глупо и бессмысленно ограничиваться древней ASCII.

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

правильно. А выражение .* захватывает любую строку. Так? А вот и нет. ИМХО потому команды и преобразуются к безопасному виду.

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

Вот именно, а сказано было «в /etc/ должен лежать _твой_ конфиг, а дефолтный в /usr/.», что является бредом.

у тебя мышление как у хомячка, для тебя «мой» означает «в $HOME», а мне приходится учитывать, что как раз в /home/ лежат не мои файлы. Я с ними не работаю. Если мне надо поправить конфиг, я лезу в /etc/, что там у моих юзеров - меня волнует мало. Т.ч. извиняй, для МЕНЯ это естественно. Ну а дома я редко конфиги правлю, есть-же ГУЙ для этого.

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

А почему нет? Я их и так в консоли пробовал использовать, работает. В виме вводятся и сохраняются. Только ширина у них неправильная в моноширинном шрифте, они шире латиницы.

дык если их ужать, получится нечитаемая каша. в консоли их тоже можно использовать, это иногда очень удобно как символ, вероятность появления которого почти нулевая. Например ★★★. Только надо помнить о том, что utf-8 это вообще говоря зияющая дыра.

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

Тем более, что имена файлов — низкоуровневые кишки, и такому говну там не место. Нужно — делай маппинг (как в венде «мои документы»).

место-неместо решать не тебе. В именах файлов ЛЮБЫЕ символы допустимы, кроме нуля и слеша. Как их рисовать - твоя проблема. А вот как ввенде - не надо пожалуйста. Это ведь и получится «как в венде», пишешь программу «Привет мир» в MSVC, в ответ получаешь кракозябры. Зачем ЭТО надо? Взял-бы, и уе***.

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

А почему там место только английскому говну? Оно особое?

да. в английском тексте все символы - СИМВОЛЫ, и все занимают 1 байт. Потому, имена надо называть английскими буквами, хотя-бы потому, что сортировка только английского тупо в разы быстрее. Можешь сам проверить, возьми файл, и его отсортируй. Либо у тебя будет в разы медленнее, либо неправильно (буква Ё не на месте. Русским хорошо, можно е менять на ё, да и слов на букву ё немного, украинцам повезло меньше)

вот ещё пример:

echo | sed 's/[а-я]//'
sed: -e выражение #1, символ 11: Неверный знак сортировки
ИЧСХ, sed русский хоть понимает, например считает «Ф» одной буквой, большинство других утилит считает за две. А я всего-то попросил стереть одну букву, от а до я. Вот такая вот беда. ИЧСХ sed тут не причём, это glibc такая плохая. Т.е. чуть более чем все программы глючат точно так-же.

а вот замена большой буквы на маленькую

$ echo "абвгдеёуфхц" | tr ф Ф
абвгдеБЃФЅІ
хорошо хоть это работает:
$ echo "абвгдеёуфхц" | sed 's/ф/\U&/g'
абвгдеёуФхц
но об этом мало кто знает

Твои проблемы.

Не... Тут Михаил таки прав... Либо не лезь в кишки системы, либо забудь про юникод. Т.е. воспринимай «ф» не как русскую букву, а как «\xd1\x84»

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

м?

$ echo "абвгдеёуфхц" | sed 's/ф/Ф/g'  
абвгдеёуФхц

А tr тупой, да. Он, по-моему, кроме однобайтных кодировок ничего не умеет.

GArik
() автор топика
Ответ на: комментарий от drBatty

у тебя мышление как у хомячка, для тебя «мой» означает «в $HOME»,

Для любого нормального человека это так.

а мне приходится учитывать, что как раз в /home/ лежат не мои файлы. Я с ними не работаю. Если мне надо поправить конфиг, я лезу в /etc/,

А это системные файлы.

что там у моих юзеров - меня волнует мало. Т.ч. извиняй, для МЕНЯ это естественно. Ну а дома я редко конфиги правлю, есть-же ГУЙ для этого.

Сворачивайте уже свой членомер. Я понял, что вы хотели перед одноклассниками админо-крутизной блеснуть.

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

Есть же разница сжимать одновременно несколько файлов (запущено несколько процессов), каждый на одном CPU и другое дело сжимать один файл, одним процессом, на всех доступных процессорах.

Вы уж определитесь что вам надо.

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

Все, понял. Я завис: думал, что lbzip2 и pbzip2 могут принимать несколько файлов и распределять эти файлы по процессорам. Спасибо за пояснения!

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

echo | sed 's/[а-я]//'
sed: -e выражение #1, символ 11: Неверный знак сортировки

Не воспроизводится

$ echo | sed 's/[а-я]//'

$ echo а1б2 | sed 's/[а-я]//'
1б2

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

$ echo «абвгдеёуфхц» | sed 's/ф/Ф/g'

дык sed меняет 2 байта, на другие 2 байта. Независимо от кодировки.

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

Это так что на разных системах не воспроизводится, перечислять все долго. Похоже тебе будет проще сказать где есть баг, чем мне где его нет.

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