The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Вышел BASH 4.1

02.01.2010 14:12

Доступна новая версия командного интерпретатора Gnu Bash 4.1.

Новшества, реализованные с момента выхода bash 4.0:

  • В функцию read добавлена поддержка опции "-N число_символов", позволяющей считать из входного потока только заданное число символов;
  • При проверке статуса файлов (исполняемый, доступный на чтение и т.п.) теперь учитываются системные ACL для поддерживающих их файловых систем;
  • Bash теперь пропускает к дочерним процессам переменные окружения в которых использованы недопустимые имена переменных;
  • Readline-функция "execute-unix-command" теперь пытается очистить и заново использовать текущую строку, вместо перехода к следующей строке после выполнения заданной команды;
  • "printf -v" теперь позволяет назначить значение массиву индексов;
  • Добавлены опции "complete -E" и "compopt -E" для работы с "пустыми" дополнениями (определяют правила дополнения пустой командной строки). Другая новая опция "-D" в complete/compgen/compopt определяет дополнение, используемое по умолчанию, что может быть использовано для формирования сложной многоуровневой логики автодополнения;
  • При отображении ассоциативных массивов, ключевые элементы теперь выводятся в кавычках;
  • dabbrev-expand приведен к emacs-подобному стилю: после совпадения не добавляются пробелы, дополнения не сортируются, наиболее старые элементы истории выводятся в первую очередь;
  • Команды "[[" и "((" теперь можно обрабатывать через 'set -e' и ERR trap;
  • Оператор включения файлов "source/." теперь удаляет нулевые символы из файла перед парсингом команд;
  • Через изменение конфигурационных параметров config-top.h теперь можно настроить перенаправление истории операций в syslog;
  • Добавлена переменная $BASHOPTS для экспорта всех опций shell, установленных для дочерних процессов через shopt;
  • Добавлена переменная $BASH_XTRACEFD, при установке в которую целого числа, bash начинает генерировать отладочный xtrace вывод в указанный файловый дескриптор;
  • Операторы "<" и ">" внутри условия "[[" теперь могут использоваться для сравнения строк с учетом текущей локали;
  • Встроенные функции mapfile/readarray больше не сохраняют выполненные команды в списке истории работы;
  • Для включения режима совместимости с bash 4.0 для shopt подготовлена опция compat40;
  • Расширены возможность библиотеки readline и shell биндинга к ней, добавлено несколько новых функций (menu-complete-backward, skip-csi-sequence, rl_filename_rewrite_hook) и переменных (skip-completed-text, echo-control-characters, enable-meta-key).


  1. Главная ссылка к новости (http://tiswww.case.edu/php/che...)
  2. OpenNews: Анонсирован выход Bash 4.0, лицензия изменена на GPLv3
  3. OpenNews: Анонсирован выход Bash-3.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/24884-bash
Ключевые слова: bash, shell
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (37) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, grayich (ok), 15:09, 02/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –11 +/
    кто-то еще пользует баш, когда есть zsh ?
     
     
  • 2.3, Logo (ok), 15:13, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Ага, он по умолчанию стоит, а дистры менять приходиться часто, да и привычнее на баш, а вообще-то лень переседать, пока не приперло :)
     
     
  • 3.26, gegMOPO4 (ok), 01:07, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    По умолчанию стоит bash3. bash4 пока такая же экзотика, как и zsh.
     
     
  • 4.34, bircoph (?), 20:51, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >По умолчанию стоит bash3. bash4 пока такая же экзотика, как и zsh.

    Ну не скажите. В Gentoo bash-4 дано используется.

     
     
  • 5.36, Michael Shigorin (ok), 21:41, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>По умолчанию стоит bash3. bash4 пока такая же экзотика, как и zsh.
    >Ну не скажите. В Gentoo bash-4 дано используется.

    Тогда и Вы не скажите, в grml zsh по умолчанию издревле. :) (согласен, Gentoo не настолько экзотика, но и вокруг давно уж не попадался)

     
     
  • 6.42, Хоменко (ok), 21:15, 07/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Женту маргинализировать? Не позволю!

    Завтра прибудем в составе четырех лаптопов и одного десктопа -- все под флагом женту!

    :}

     
  • 4.39, Иван (??), 23:33, 05/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    У меня в кубунте 4.0.33. Дистр достаточно популярный, пожалуй :)
     
  • 4.40, anonymous (??), 19:12, 06/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > По умолчанию стоит bash3. bash4 пока такая же экзотика, как и zsh

    В федоре:

    > 4.0.35(1)-release

     
  • 4.41, Michael Shigorin (ok), 21:45, 06/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >По умолчанию стоит bash3. bash4 пока такая же экзотика, как и zsh.

    we stand corrected. :)

     
  • 2.4, Coder (?), 17:06, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Ну я использую. И что дальше?
     
     
  • 3.5, Карбофос (ok), 18:18, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    аналогично, коллега.
     
  • 2.7, Purple (??), 18:54, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ну я тоже ...
     
  • 2.8, Tav (ok), 19:08, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    По какой причине по вашему я должен предпочесть zsh?
     
     
  • 3.28, Michael Shigorin (ok), 13:00, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    zsh нервы бережёт.  Комплишен более умный, плюс есть возможность подстраховаться от ошибок вроде rm * ~.  То есть когда всё хорошо, то удобней, а когда всё плохо (если уж пришлось торчать за консолью в уставшем виде) -- то порой оберегает от типичных и предсказуемых при этом ошибок.

    Разумеется, на дефолтный в федоре смотреть не стоит -- деревянный до ужаса, это как линукс по асеровскому консольному линпусу оценивать.

     
     
  • 4.43, Хоменко (ok), 21:19, 07/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >zsh нервы бережёт.  ... плюс есть возможность подстраховаться от
    >ошибок вроде rm * ~.

    А разве это не забота coreutils?

     
     
  • 5.44, Michael Shigorin (ok), 23:31, 07/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>zsh нервы бережёт.  ... плюс есть возможность подстраховаться от
    >>ошибок вроде rm * ~.
    >А разве это не забота coreutils?

    Проведите следственный эксперимент, но вообще-то это в досах утилиты сами озадачивались globbing'ом -- в UNIX шелл производит набор expansion'ов _перед_ передачей аргументов команде.

    Бишь rm получит уже не * ~, а нечто вроде bin src vip.txt /home/joe

     
     
  • 6.45, Хоменко (ok), 21:34, 08/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А, сообразил. Имеется ввиду "*~", обозначающее бэкапные версии, в противоположность "*" и "~" по отдельности. Понятно теперь все.

    А из coreutils вертелось на уме rm, которое (с каких-то пор) не даст удалить / без особой длинной опции.

     
  • 2.9, Аноним (-), 19:17, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А чем zsh круче?
     
     
  • 3.11, sHaggY_caT (ok), 20:05, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >А чем zsh круче?

    Перефразируя известную фразу, чем bash :) Но кому-то нравится "магия zsh"...

    З.Ы. Тоже использую bash. Пока....

     
  • 2.23, Iv945n (ok), 20:26, 03/01/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Думал освоить и поюзать, но последний стабильный релиз zsh вышел 2 года назад, так что стрёмновато. Подождём пока освежится + ещё полгодика.
     
  • 2.33, bircoph (?), 20:50, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >кто-то еще пользует баш, когда есть zsh ?

    zsh слишком тормозит с жрёт слишком много памяти, не более он не годится для использования в качестве системного шелла.

     
     
  • 3.35, Michael Shigorin (ok), 21:09, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>кто-то еще пользует баш, когда есть zsh ?
    >zsh слишком тормозит с жрёт слишком много памяти

    У меня на сизифе он недавно начал тормозить на стареньком T43 (та же, только x86_64, сборка с теми же настройками на Xeon 5420 -- задержки не замечаю).  "Пустой" пользователь на этом же буке не тормозит, с отодвинутым rc и у меня не тормозит, а перебрать по строчке пока лень.

    Сюда же на всякий случай:
    zcompile ~/.zshrc
    . ~/.zshrc

    >не более он не годится для использования в качестве системного шелла.

    Прекрасно годится в контейнерах, а у меня и на аппаратных узлах работает.  Тут ещё один момент: zsh может включать ftp-клиент, что изредка может оказаться крайне полезно при отвалившейся glibc или ld.so (рука дрогнула или бэд удачно попал).  Хотя вообще да, базовую систему лучше держать компактной ради непотопляемости.  Но утверждать, что "не годится" -- не годится.

     

  • 1.12, Ъ (?), 20:24, 02/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В присваивание значения переменной все так-же пробелы не допустимы?
     
     
  • 2.15, Вова (?), 21:52, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • –3 +/
    ~ $ HA=HA\ HA; echo $HA
    HA HA
    ~ $ bash --version
    GNU bash, version 3.2.39(1)-release (x86_64-pc-linux-gnu)
    Copyright (C) 2007 Free Software Foundation, Inc.
     
     
  • 3.16, Ъ (?), 22:49, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    a = 1

    echo $a

    vs

    a=1

    echo $a

     
     
  • 4.17, Вова (?), 23:12, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    т. е. ваш вопрос звучит так: "отменили ли интерпретацию пробела как разделителя логических конструкций языка."; а "присвоение значения" тут как частный случай.
     
     
  • 5.18, Ъ (?), 23:37, 02/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Как еще более внятнее сформулировать?  Внятней уже некуда.
     
  • 2.19, Аноним (-), 01:31, 03/01/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мою простую фразу: "товарищи, довайте объективнее", удалили по цензуре.
    Да уж, "свободный" сайт, "свободный" портал.
    Стыдно, Максим. Как тюмененец тюменцу.
    Цензура, конечно, хорошо, но не в такой же степени.
     
     
  • 3.22, pavlinux (ok), 16:52, 03/01/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > довайте объективнее

    пишут - дАвайте, так что, скорее не цензура, а орфография. :)
      

     
  • 3.25, Maxim Chirkov (ok), 23:49, 03/01/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это не цензура, а текущая работа по уборке мусора. С таким подходом цензурой можно назвать и удаление спама. Неуважительное отношение, ругань, не аргументированные выпады - все это мало отличается от спама и удаляется. Вместе с нарушениями правил (http://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=help#rules) удаляются и все ответы на них. Видимо ваше сообщение было одним из таких ответов.
     
  • 2.27, gegMOPO4 (ok), 01:14, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как интерпретировать "LC_ALL= ls -l"?

     
     
  • 3.29, Michael Shigorin (ok), 13:02, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Как интерпретировать "LC_ALL= ls -l"?

    Как запуск ls -l с пустым значением переменной окружения LC_ALL.

     
     
  • 4.30, gegMOPO4 (ok), 13:27, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Как интерпретировать "LC_ALL= ls -l"?
    >
    >Как запуск ls -l с пустым значением переменной окружения LC_ALL.

    Я знаю. Вопрос был к желающим пробелов вокруг =.

     
     
  • 5.31, Аноним (31), 17:58, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Как интерпретировать "LC_ALL= ls -l"?
    >>
    >>Как запуск ls -l с пустым значением переменной окружения LC_ALL.
    >
    >Я знаю. Вопрос был к желающим пробелов вокруг =.

    А вот это вот ; зачем придумали?

    # LC_ALL = ; ls -l

    Тоже, вроде, неплохо смотрится...

     
     
  • 6.32, gegMOPO4 (ok), 19:24, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>>>Как интерпретировать "LC_ALL= ls -l"?
    >А вот это вот ; зачем придумали?
    >
    ># LC_ALL = ; ls -l
    >
    >Тоже, вроде, неплохо смотрится...

    Только вот смысл другой.

     
  • 6.37, del (??), 00:49, 05/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Во втором варианте LC_ALL выставится для всей текущей шелл сессии, в первом - только для конкреной команды.
     
     
  • 7.38, Аноним (31), 01:19, 05/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, про

    >- только для конкреной команды.

    не знал.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру