The OpenNET Project / Index page

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

16.09.2016 23:55  Релиз командного интерпретатора Bash 4.4

После двух с половиной лет разработки вышла новая версия командного интерпретатора GNU Bash 4.4, используемого по умолчанию в большинстве дистрибутивов Linux. Одновременно состоялся релиз библиотеки readline 7.0, применяемой в bash для организации редактирования командной строки.

Из улучшений можно отметить:

  • Во встроенной команде mapfile появилась возможность определения произвольного символа-разделителя записей (опция "-d");
  • Для почти всех команд реализована опция "--help" для вывода подсказки;
  • Добавлен шаблон ${parameter@spec} для применения преобразования к значению "parameter";
  • Во встроенной команде local появилась возможность указания аргумента "-" для сохранения состояния однобуквенных shell-опций и восстановления прошлых значений при выходе из функции;
  • Добавлена новая переменная EXECIGNORE, позволяющая определить имена, которые следует игнорировать при поиске команд;
  • Подготовлен начальный SDK для создания собственных команд (загружаемых через "enable -f"), включающий набор заголовочных файлов и фрагментов сценариев Makefile;
  • Bash теперь сохраняет статус выхода только для асинхронных заданий, что нарушает совместимость с прошлыми версиями в которых сохранялись статусы для всех заданий. Таким образом теперь нельзя использовать команду wait для получения статуса предыдущей синхронной команды;
  • В команду ulimit добавлены опции "-k" (kqueues) и -P (pseudoterminals).


  1. Главная ссылка к новости (http://lists.gnu.org/archive/h...)
  2. OpenNews: В Bash выявлено ещё четыре уязвимости, эксплуатируемые через переменные окружения
  3. OpenNews: Критическая уязвимость в bash, которая может привести к удалённому запуску команд (дополнено)
  4. OpenNews: Релиз командного интерпретатора Bash 4.3
  5. OpenNews: Релиз командного интерпретатора Bash 4.2
  6. OpenNews: Вышел BASH 4.1
Лицензия: CC-BY
Тип: Программы
Ключевые слова: bash
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 00:14, 17/09/2016 [ответить] [показать ветку] [···]     [к модератору]
  • +2 +/
    Релиз командного интерпретатора Bash 4.4... весь текст скрыт [показать]
     
     
  • 2.2, Аноним (-), 00:14, 17/09/2016 [^] [ответить]    [к модератору]  
  • +5 +/
    интересно, нафига они это сделали?
     
     
  • 3.3, Аноним (-), 00:15, 17/09/2016 [^] [ответить]    [к модератору]  
  • +8 +/
    Фашизм, очевидно же.
     
     
  • 4.9, vantoo (ok), 03:15, 17/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Происки Госдепа, не иначе!
     
  • 3.21, РОСКОМУЗОР (?), 11:17, 17/09/2016 [^] [ответить]    [к модератору]  
  • +5 +/
    Данное изменение предложено лично Бараком Обамой. Юзайте православную версию, там всё по старому.
     
  • 2.24, freehck (ok), 12:58, 17/09/2016 [^] [ответить]    [к модератору]  
  • +7 +/
    Хм. wait для получения статуса *синхронной* команды? А кто его вообще для этого юзал? Как он умудрился это сделать, и главное -- зачем это понадобилось?

    Я вот думал, что wait только для асинхронных команд можно использовать. Или отдельные умельцы шлют SIGCONT остановленному процессу синхронной команды, и натравливают на него wait?

     
     
  • 3.40, EHLO (?), 14:09, 18/09/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    Остановленный процесс это уже асинхронная команда Я с интересом для себя обнару... весь текст скрыт [показать]
     
     
  • 4.45, freehck (ok), 23:38, 18/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Спасибо, очень интересная штука. Хм. Была.

     
  • 1.4, анон (?), 00:59, 17/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    zsh лучше
     
     
  • 2.5, Виталик (??), 02:18, 17/09/2016 [^] [ответить]    [к модератору]  
  • –10 +/
    Только на маке, на линуксе он какой-то глючный.
     
     
  • 3.6, leap42 (ok), 02:33, 17/09/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    vi-mode или emacs? с последним уже много лет проблем не замечал. может, дистро-специфичные проблемы? баг уже отрепортили?
     
     
  • 4.7, Аноним (-), 02:38, 17/09/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    Думаю автор имел в виду Debian based багу.
     
     
  • 5.8, Вы забыли заполнить поле Name (?), 03:07, 17/09/2016 [^] [ответить]    [к модератору]  
  • +8 +/
    Думаю, автор яблодрочер.
     
  • 5.12, Аноним (-), 06:45, 17/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Автор имел ввиду не пойми что. Debian Jessie, ZSH 5.0.7, проблем не наблюдаю.
     
  • 4.18, Виталик (??), 09:57, 17/09/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    Короче рассказываю Как была шумиха вокруг shellshock я решил что баш не безопас... весь текст скрыт [показать]
     
     
  • 5.20, Аноним (-), 11:06, 17/09/2016 [^] [ответить]    [к модератору]  
  • +/
    oh-my-zsh
    использовать крайне не рекомендуется, по причие тормазнутости.
    посмотрите сколько времени идет запуск.
    for i in $(seq 1 10); do /usr/bin/time zsh -i -c exit; done
     
  • 5.22, Аноним (-), 11:54, 17/09/2016 [^] [ответить]    [к модератору]  
  • +/
    oh-my-zsh -- та ещё помойка с понадёрганными со всего интернета рецептами для плагинов. Для начала лучше  использовать grml.
     
  • 5.23, freehck (ok), 12:40, 17/09/2016 [^] [ответить]     [к модератору]  
  • +/
    oh-my-zsh -- помойка, у которой дефолты начисто подвешивают консоль Зато красив... весь текст скрыт [показать]
     
  • 5.27, Аноним84701 (?), 16:29, 17/09/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    Нет, это говорит о том, что уважаемому диванному аналитику опеннета стоило посм... весь текст скрыт [показать]
     
  • 2.10, vantoo (ok), 03:17, 17/09/2016 [^] [ответить]    [к модератору]  
  • –2 +/
    Вы хотели сказать KSH.
     
  • 2.28, asavah (ok), 17:21, 17/09/2016 [^] [ответить]    [к модератору]  
  • +/
    CSH же!
     
  • 1.11, intelfx (ok), 05:11, 17/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    'mapfile -d' -- вау, годно!

    Ещё бы запилили применение нескольких модификаторов подстановки за один раз (как в zsh, через двоеточие) -- цены бы не было.

     
  • 1.13, Наркоман (?), 08:12, 17/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Есть вообще шелл с человеческим синтаксисом?
     
     
  • 2.14, DeerFriend (?), 08:27, 17/09/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    Пёрл?
     
  • 2.15, Blind Vic (ok), 09:24, 17/09/2016 [^] [ответить]    [к модератору]  
  • +/
    xonsh?
     
  • 2.19, Аноним (-), 10:44, 17/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Есть, оберон называется.
     
  • 2.25, Стог сена (?), 13:34, 17/09/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    в армии есть, но там терминалов нет.
     
     
  • 3.43, Аноним (-), 20:24, 18/09/2016 [^] [ответить]    [к модератору]  
  • +/
    > в армии есть, но там терминалов нет.

    Если бы там побывал, то знал бы, что терминалы там есть. Ах с советских времён.


     
  • 2.29, Аноним (-), 19:07, 17/09/2016 [^] [ответить]    [к модератору]  
  • –5 +/
    PowerShell, ха-ха
     
  • 2.32, Аноним (-), 00:38, 18/09/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    fish
     
  • 2.35, Аноним (-), 01:58, 18/09/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    Бери баш и ebash Очевидно же Не нравится - пиши свой Как сделаешь человечески... весь текст скрыт [показать]
     
     
  • 3.39, Аноним (-), 12:12, 18/09/2016 [^] [ответить]    [к модератору]  
  • –3 +/
    > стал стандартом

    шта?

     
  • 1.17, Андрей Заикин (ok), 09:49, 17/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Ждем теперь появления OpenBASH, NetBASH и FreeBASH
     
     
  • 2.26, Аноним (-), 13:42, 17/09/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    LibreBASH же.
     
     
  • 3.30, iCat (ok), 19:19, 17/09/2016 [^] [ответить]    [к модератору]  
  • +/
    MS BASH
     
  • 1.31, Онаним (?), 23:45, 17/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Кстати а может кто объяснить зачем люди ломают мозги и пишут bash-скрипты когда есть Python и много других более интуитивных и более мощных языков? Просто любопытно.
     
     
  • 2.33, Аноним (-), 01:21, 18/09/2016 [^] [ответить]    [к модератору]  
  • +/
    А что тут объяснять? Это очевидно любому специалисту. Где-то удобнее bash, где-то python.
     
  • 2.34, Led (ok), 01:52, 18/09/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    > когда есть Python и много других более интуитивных и более мощных
    > языков?

    "понятный даже дебилу" != "интуитивный и мощный для не-дебила".

     
  • 2.36, Аноним (-), 02:06, 18/09/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    Любой вопрос возникает от незнания В данном случае ты не знаешь, что непосредст... весь текст скрыт [показать]
     
  • 2.38, angra (ok), 11:02, 18/09/2016 [^] [ответить]    [к модератору]  
  • +6 +/
    Причин несколько.
    1. Самая распространенная заключается в незнании большинством админов ЯП общего назначения вроде питона, перла, рубина.
    2. Некоторые скриптовые языки чаще всего отбрасываются из-за их отсутсвия по дефолту в любом линуксе, в отличии от перла и питона. Прощай рубин.
    3. Скрипт зачастую вырастает из однострочника, а значит с питоном тоже прощаемся.
    4. Некоторые задачи таки удобней сделать на шелле, так как в них больше половины работы приходится на внешние утилиты.
     
     
  • 3.41, Аноним (-), 18:07, 18/09/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Полностью согласен Почти всегда мои башескрипты начинаются с однострочника, но ... весь текст скрыт [показать]
     
  • 3.57, Масик (?), 09:03, 21/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Не знаю как у вас, а наши админы знают perl и python иногда не хуже разработчиков. Но пользуются часто и bash-скриптами.
     
  • 2.46, Аноним (-), 06:58, 19/09/2016 [^] [ответить]    [к модератору]  
  • +/
    > Python

    Зачем мне ЭТО в системе? А bash\sh везде есть.

     
     
  • 3.47, gnu hater (?), 08:50, 19/09/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    python поставляется почти со всеми дистрами(по крайней мере популярными) так же как и perl.
     
     
  • 4.48, Happy_demon (??), 09:10, 19/09/2016 [^] [ответить]    [к модератору]  
  • +/
    не скажу за линуксы, но во фре, начиная с версии кажется 6что-то_там перла по умолчанию нет.
     
     
  • 5.50, gnu hater (?), 11:02, 19/09/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    во freebsd и bash по умолчанию не поставляется на сколько мне известно.
     
     
  • 6.52, _ (??), 18:28, 19/09/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Всё правильно известно.

    Ещё в до-мезозойскую эру отцы основатели сказали что то типа интерактивным шеллом можешь иметь что хочешь, но для скриптов пользуй #!/bin/sh Luke! And Power will be with you ...
    (ну и ещё много какашек на csh как шелл для скриптов ... да кто это помнит уже :)
    У меня например руки сами бактики набирают вместо $()  :)

    Хотя по нынешним временам, когда зайдя по ssh в 99% увидишь линукс и баш ... стоит ли йУнным париЦЦо?!

     
     
  • 7.53, Led (ok), 21:12, 19/09/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    > У меня например руки сами бактики набирают вместо $()  :)

    $() - POSIX shell
    Но ты и дальше "бактики" набивай...

     
  • 4.49, Anonn (?), 09:13, 19/09/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    Какой версии?
     
  • 4.55, Аноним (-), 11:17, 20/09/2016 [^] [ответить]    [к модератору]  
  • +/
    И ввиду "некоторых несовместимостей" (не)работает по разному, с utf-8 тоже интересная история.
     
  • 3.51, Аноним (-), 14:47, 19/09/2016 [^] [ответить]    [к модератору]  
  • +/
    > А bash везде есть.

    Распространённое заблуждение.

     
     
  • 4.56, Аноним (-), 07:13, 21/09/2016 [^] [ответить]    [к модератору]  
  • –2 +/
    > Распространённое заблуждение.

    Конечно, ведь я написал ещё про sh. Только не говорите, что busybox не везде есть. Никогда не поверю.

     
     
  • 5.58, Аноним (-), 21:50, 21/09/2016 [^] [ответить]    [к модератору]  
  • +/
    sh есть везде. А sh == bash -- распространенное забдуждение. Я вас не правильно понял.
     
  • 1.59, Аноним (-), 09:42, 23/09/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Ключевая фраза Bash теперь сохраняет статус выхода только для асинхронных зада... весь текст скрыт [показать]
     
  • 1.60, jidckii (?), 16:27, 20/03/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Я правильно понимаю, что вот такая конструкция у меня перестанет работать с версии 4.4  ??

    <code>  if [[ -d "$dalet_path" ]];then
        cp $end_path$end_file_name.$CONTAINER $dalet_path$FORMAT_PATH >> $LOG_FILE 2>&1 & pid_cp=$!
      else
        log_info "\e[1;31m Ошибка при копировании в DALET, путь не найден \e[0m"
      fi
      
      if [[ -d "$frank_path$date_dir" ]];then
        cp -R $source_path* $frank_path$date_dir$v_hd >> $LOG_FILE  2>&1 & pid_cp1=$!
      else
        log_info "\e[1;31m Ошибка при копировании на FRANK, путь не найден \e[0m"
      fi
      
      if [[ -d "$frank_path$date_dir" ]];then
        cp $end_path$end_file_name.$CONTAINER $frank_path$date_dir$dlya_montaja >> $LOG_FILE 2>&1 & pid_cp2=$!
      else
        log_info "\e[1;31m Ошибка при копировании на FRANK, путь не найден \e[0m"
      fi
      
      wait $pid_cp2
      if [[ "$?" -ne 0 ]]; then
        log_info "\e[1;31m Ошибка во время копирования готового на FRANK \e[0m "
        return 1
      fi
      
      wait $pid_cp1
      if [[ "$?" -ne 0 ]]; then
        log_info "\e[1;31m Ошибка во время копирования исходников на FRANK \e[0m "
        return 1
      fi
      
      wait $pid_cp
      if [[ "$?" -ne 0 ]]; then
        log_info "\e[1;31m Ошибка во время копирования готового в DALET \e[0m"
        return 1
      fi
    </code>

     

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


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