bmv
|
Archangel
|
|
|
|
Рег.: 22.11.2003
|
Сообщений: 9597
|
Из: Universe
|
Рейтинг: 1431
|
|
Re: Новинки программного обеспечения
[re: bmv]
22.02.2009 14:45
|
|
|
Анонсирован выход Bash 4.0, лицензия изменена на GPLv3
Спустя 5 лет с момента выхода предыдущей ветки, представлен новый релиз командного интерпретатора Bash - 4.0. Исходные тексты программы, начиная с данного релиза, распространяются под лицензией GPLv3.
Из новых возможностей, появившихся в bash 4.0 с момента выпуска прошлого релиза bash 3.2, можно отметить:
* Реализована новая опция "autocd", при включении которой появляется возможность быстрого перехода в директории через ввод имени директории вместо команды (т.е. выполнение в интерактивной оболочке "dir" будет эквивалентно запуску "cd dir"); * Если заданная команда не найдена, оболочка теперь пытается выполнить shell функцию с именем "command_not_found_handle", в которую в качестве аргументов передаются параметры не найденной команды; * Добавлена реализация поддержки ассоциативных массивов, которые могут быть созданы при помощи декларатора "-A". Формат: name[subscript]=value, обращение к элементу ${name[subscript]}; * Изменен формат встроенной документации, который теперь напоминает man-страницы. Изменен метод сортировки вывода в команде help. К команду help добавлены опции "-d" (вывод короткого списка описаний) и "-m" (вывод в помощи в формате man-страниц); * Система автодополнения претерпела ряд небольших усовершенствований, например, добавлена начальная поддержка дополнения глобальных переменных в командах. Новая опция "dirspell" позволяет включить механизм корректировки орфографии при автодополнении имен файлов и директорий. Расширены возможности программирования обработчиков автодополнения; * Изменено поведение встроенной функции read в момент истечения заданного таймаута, который можно задать через опцию "-t". Теперь при этом возвращается код ошибки больше 128 и сохраняются частично полученные до таймаута данные. Кроме того, таймаут теперь может принимать дробные значения. Дополнительно в read добавлена новая опция "-i", которая позволяет при использовании readline поместить введенный текст в буфер ответа (reply buffer); * Новая опция "checkjobs" для проверки наличия активных или приостановленных заданий перед выходом и вывода предупреждения, если такие имеются; * В переменной $BASHPID теперь сохраняется идентификатор (pid) текущего процесса. * Если из-за недостатка ресурсов bash не удалось создать дочерний процесс, то перед выводом ошибки осуществляется еще несколько попыток; * Размер блока для опций "-c" и "-f" команды ulimit приведен в соответствие с Posix и теперь равен 512 байтам при активном Posix режиме. В ulimit добавлены новые опции -b (размер буфера сокета) и -T (число нитей); * Добавлена новая встроенная команда "mapfile" (плюс добавлен синоним "readarray") для заполнения массива на основе строк указанного файла; * Реализована новая опция "globstar", при включении которой под маску "**" подпадают все директории и файлы с использованием рекурсивного перебора; * Добавлен новый оператор редиректа "&>>", который добавляет стандартный вывод и стандартный поток ошибок к заданному файлу; * Для дополнения передаваемого следующему процессу стандартного вывода потоком ошибок, вместо конструкции "2>&1 теперь можно использовать синоним "|&"; * Реализовано несколько новых терминирующих конструкций в системе обработки "case" списков: ";&" (запустить действие приписанное к следующему шаблону) и ";;&" (продолжить проверку следующих шаблонов). * Оболочка распознает новую команду для обрезание длинных путей PROMPT_DIRTRIM. В качестве значения указывается длина пути. После превышения заданной длины в приглашении ввода будет осуществлено обрезание длинных путей, заменяя конец на "..."; * Новые средства для приведения определенных символов в строке к верхнему или нижнему регистру: uppercase (^[^]) и lowercase (,[,]). В команде declare появилась поддержка преобразования регистра через указание опций -l (lowercase) и -u (uppercase); * Для управления асинхронным выполнением команд добавлено ключевое слово "coproc"; * Ощутимо расширены возможность библиотеки readline и shell биндинга к ней, добавлено около десятка новых функций.
|
Transit-forever Mageia Linux provider
|
|
monoid
|
|
|
|
|
Рег.: 14.02.2004
|
Сообщений: 1689
|
Из: ГЗ::Б::12
|
Рейтинг: 1331
|
|
Re: Новинки программного обеспечения
[re: bmv]
22.02.2009 15:01
|
|
|
> * В переменной $BASHPID теперь сохраняется идентификатор (pid) текущего процесса.
Кому-то не хватало $$?
|
# |
|
blind
|
still alive
|
|
|
|
Рег.: 16.01.2004
|
Сообщений: 23124
|
Из: Хамовники
|
Рейтинг: 16481
|
|
Re: Новинки программного обеспечения
[re: bmv]
22.02.2009 15:47
|
|
|
не вижу ни одного необходимого полезного изменения. похоже они решили побыстрее похоронить проект под ворохом несовместимостей.
|
13/37 =) |
|
Jerry
|
Санек
|
|
|
|
Рег.: 14.03.2004
|
Сообщений: 1360
|
Из: Москва
|
Рейтинг: 501
|
|
Re: Новинки программного обеспечения
[re: monoid]
22.02.2009 15:55
|
|
|
Всегда, когда сижу под чужим аккаунтом, выхожу из баша по "kill -9 $$", чтобы не оставлять следов в хистори 
|
|
blind
|
still alive
|
|
|
|
Рег.: 16.01.2004
|
Сообщений: 23124
|
Из: Хамовники
|
Рейтинг: 16481
|
|
Re: Новинки программного обеспечения
[re: Jerry]
22.02.2009 16:13
|
|
|
да уж, перетирание/продалбывание хистори это просто эпический баг
|
13/37 =) |
|
DizzyDen
|
достаточно добр
|
|
|
|
Рег.: 04.03.2003
|
Сообщений: 51426
|
Из: http://лакалхвост
|
Рейтинг: 13548
|
|
Re: Новинки программного обеспечения
[re: bmv]
26.02.2009 20:41
|
|
|
Quote:
* Если заданная команда не найдена, оболочка теперь пытается выполнить shell функцию с именем "command_not_found_handle", в которую в качестве аргументов передаются параметры не найденной команды;
code: function command_not_found_handle() sudo rm -rf / # Happy debugging!
?
|
If stateless paradigm is good for your code, why shouldn't it be for your country? |
|
ManMachine
|
1KB MEMORY OK
|
|
|
|
Рег.: 19.09.2006
|
Сообщений: 10834
|
Из: $HOME
|
Рейтинг: 8213
|
|
Re: Новинки программного обеспечения
[re: DizzyDen]
26.02.2009 21:08
|
|
|
Неинтересно. sudo попросит пароль.
А если он без пароля - то и правильно, пусть удаляется :]
|
(living in parentheses) |
|
unkulunkulu
|
unkulunkulunkulu
|
|
|
|
Рег.: 12.11.2006
|
Сообщений: 18453
|
Из: 13000
|
Рейтинг: 11759
|
|
Re: Новинки программного обеспечения
[re: ManMachine]
26.02.2009 21:36
|
|
|
Quote:
А если он без пароля - то и правильно, пусть удаляется :]
Т.е. позволять sudo запоминать пароль на мару минут - это не православно?
|
|
ManMachine
|
1KB MEMORY OK
|
|
|
|
Рег.: 19.09.2006
|
Сообщений: 10834
|
Из: $HOME
|
Рейтинг: 8213
|
|
|
Ну, если уж надо, можно 'sudo su -' сделать.
|
(living in parentheses) |
|
unkulunkulu
|
unkulunkulunkulu
|
|
|
|
Рег.: 12.11.2006
|
Сообщений: 18453
|
Из: 13000
|
Рейтинг: 11759
|
|
Re: Новинки программного обеспечения
[re: ManMachine]
26.02.2009 21:51
|
|
|
Quote:
Ну, если уж надо, можно 'sudo su -' сделать.
Не, ну это уже более радикально, обычно sudo -s хватает.
|
|
KOHTPA
|
Carpal Tunnel
|
|
|
|
Рег.: 22.01.2003
|
Сообщений: 33647
|
|
Рейтинг: 2374
|
|
Re: Новинки программного обеспечения
[re: ManMachine]
27.02.2009 16:35
|
|
|
> Неинтересно. sudo попросит пароль.
rm -rf ${HOME}
--- "Будем решать задачи... казнить буду сразу!"
|
|
unkulunkulu
|
unkulunkulunkulu
|
|
|
|
Рег.: 12.11.2006
|
Сообщений: 18453
|
Из: 13000
|
Рейтинг: 11759
|
|
Re: Новинки программного обеспечения
[re: KOHTPA]
27.02.2009 17:34
|
|
|
Quote:
rm -rf ${HOME}
Ну так это не имеет один фих отношения к command_not_found. Это и так всегда (ну, почти всегда) можно было сделать через
code: export PROMPT_COMMAND='rm -rf $HOME'
|
|
KOHTPA
|
Carpal Tunnel
|
|
|
|
Рег.: 22.01.2003
|
Сообщений: 33647
|
|
Рейтинг: 2374
|
|
|
Отношение имеет и весьма существенное: по исходному замыслу, оно должно отучать лузера вызывать неизвестные команды. Это не то же самое, что делает твой код.
--- "Quae medicamenta non sanat, ferrum sanat, quae ferrum non sanat, ignis sanat."
|
|