URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 74697
[ Назад ]

Исходное сообщение
"Релиз командного интерпретатора Bash 4.2"

Отправлено opennews , 14-Фев-11 13:36 
Вышла (http://ftp.gnu.org/gnu/bash/) новая версия командного интерпретатора GNU Bash 4.2 (http://www.gnu.org/software/bash/).


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


-  Для команд declare/typeset добавлена новая опция "-g", при указании которой переменные имеют глобальную область видимости, т.е. видны даже в отдельных функциях;

-  Указание отрицательного индекса массива теперь не приводит к ошибке и воспринимается как обратное смещение от конца массива;

-  Отрицательный размер, указанный в блоке ${var:offset:length} теперь не приводит к ошибке и воспринимается как обратное смещение от конца переменной;

-  В блоки $'...', echo и printf добавлено распознавание escape-последовательностей \uXXXX и \UXXXXXXXX;

-  В команде test/[/[[ добавлена поддержка оператора "-v", который возвращает "истину" в случае установки указанной в качестве аргумента переменной;
-  Команда "time" теперь может использоваться для вывода времени выполнения текущего shell и дочерних процессов;

-  До...

URL: http://www.gnu.org/software/bash/
Новость: http://www.opennet.ru/opennews/art.shtml?num=29591


Содержание

Сообщения в этом обсуждении
"Релиз командного интерпретатора Bash 4.2"
Отправлено bootforce , 14-Фев-11 13:36 
что за опция -e такая у команды cd?
http://pubs.opengroup.org/onlinepubs/9699919799/

"Релиз командного интерпретатора Bash 4.2"
Отправлено filosofem , 14-Фев-11 14:46 
If the -e option is supplied with -P,  and  the  current working directory cannot be successfully determined after a successful directory change, cd will return an unsuccessful status.

Это из мана. А при чем тут POSIX пока загадка.


"Релиз командного интерпретатора Bash 4.2"
Отправлено pavlinux , 14-Фев-11 19:15 
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cd...

"Релиз командного интерпретатора Bash 4.2"
Отправлено vadiml , 14-Фев-11 14:32 
> Указание отрицательного индекса массива теперь не приводит к ошибке и воспринимается как обратное смещение от конца массива;

Лучше поздно, чем никогда


"Релиз командного интерпретатора Bash 4.2"
Отправлено Сергей , 14-Фев-11 17:20 
Если длинна масива 3 элемента, а мы указываем a[-5] , то bash пройдёт по кругу два раза назад, или всё-таки вернёт Exception ?

"Релиз командного интерпретатора Bash 4.2"
Отправлено АнонимАнонимАнонимАнонимАнонимАноним , 14-Фев-11 17:28 
использую zsh уже 4 года

"Релиз командного интерпретатора Bash 4.2"
Отправлено ymsssg , 14-Фев-11 17:39 
А чем ZSH лучше bash? Спрашиваю не подкола ради, но просвещения для.

"Релиз командного интерпретатора Bash 4.2"
Отправлено non anon , 14-Фев-11 19:46 
>А чем ZSH лучше bash?

Всем :-)

Во-первых, из коробки работает "умное" дополнение практически для всех команд. По сравнению с этим великолепием, bash-completions выглядит жалким огрызком.

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

В-третьих, коррекция вводимых команд
$ ehco test
zsh: correct 'ehco' to 'echo' [nyae]? y
test
(можно даже параметры корректировать).

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

Ну и куча других фич (перечисленное - то, вспомнилось в первую очередь).


"Релиз командного интерпретатора Bash 4.2"
Отправлено Анонимъ , 14-Фев-11 20:09 
>[оверквотинг удален]
> Во-вторых, возможность расшаривания истории команд - вводишь команду в одной консоли, и
> она тут же появляется в истории всех твоих консолей, включая открытые
> в данный момент.
> В-третьих, коррекция вводимых команд
> $ ehco test
> zsh: correct 'ehco' to 'echo' [nyae]? y
> test
> (можно даже параметры корректировать).
> В-четвертых, можно, например, настроить навигацию по меню дополнения стрелками - скажем,
> при дополнении команды kill будет красивая менюшка с интерактивным выбором.

этими берюльками ты будешь на своём десктопе играться. а на любом нормальном сервере zsh нет и быть не может в принципе (и bash то не всегда есть).  



"Релиз командного интерпретатора Bash 4.2"
Отправлено non anon , 14-Фев-11 20:16 
> любом нормальном сервере zsh нет и быть не может в принципе

Кстати, о zsh на серверах :-)

# rm -rf /*
zsh: sure you want to delete all the files in / [yn]? n


"Релиз командного интерпретатора Bash 4.2"
Отправлено Ytch , 14-Фев-11 22:25 
>> любом нормальном сервере zsh нет и быть не может в принципе
>Кстати, о zsh на серверах :-)
># rm -rf /*
>zsh: sure you want to delete all the files in / [yn]? n

А я-то, дурень, все по-старинке... просто не пускаю идиотов под рутом на сервера.


"Релиз командного интерпретатора Bash 4.2"
Отправлено Michael Shigorin , 14-Фев-11 22:41 
> а на любом нормальном сервере zsh нет и быть не может в принципе
> (и bash то не всегда есть).  

Это у лохов и несчастных.  А у умных и предусмотрительных бывали прецеденты, когда встроенное в zsh помогало выкрутиться, например, при убитой libc.

2 Ytch: не-идиот тоже бывает уставшим (когда ему тоже лучше не лезть, даже если очень надо), и руки порой могут дать осечку даже при многолетней привычке притормаживать перед энтером.


"Релиз командного интерпретатора Bash 4.2"
Отправлено Ytch , 16-Фев-11 00:56 
>не-идиот тоже бывает уставшим (когда ему тоже лучше не лезть, даже если очень надо), и руки порой могут дать осечку даже при многолетней привычке притормаживать перед энтером.

Ну в подобном случае и запрос подтверждения вполне может не помочь - просто на "автопилоте" нажмешь 'yes'. А может и спасет. Смотря насколько сложна обстановка (усталость, спешка, кол-во спирта в крови и т. п.).


"Релиз командного интерпретатора Bash 4.2"
Отправлено Аноним , 15-Фев-11 05:05 
> этими берюльками ты будешь на своём десктопе играться. а на любом нормальном
> сервере zsh нет и быть не может в принципе (и bash то не всегда есть).

Ну куда там до гуру, который в sh без readline вбивал-вбивал коммандочки по буковки, после чего его уволили наxep, так что он пришел зелёных по форумам поучать :))


"Релиз командного интерпретатора Bash 4.2"
Отправлено ill ates , 22-Фев-11 17:04 
> этими берюльками ты будешь на своём десктопе играться. а на любом нормальном
> сервере zsh нет и быть не может в принципе (и bash
> то не всегда есть).

В SLES zsh установлен по дефолту. Как расшифровывается SLES спросишь у мамы


"Релиз командного интерпретатора Bash 4.2"
Отправлено non anon , 14-Фев-11 19:58 
Да, советую почитать еще вот здесь: http://debiania.blogspot.com/2009/07/zsh.html

"Релиз командного интерпретатора Bash 4.2"
Отправлено ill ates , 22-Фев-11 17:07 
> А чем ZSH лучше bash? Спрашиваю не подкола ради, но просвещения для.

По сравнению с bash удобнее и сильно экономит время, попробуете тормозные удалёнки где даже ssh еле ворочается - сразу поймёте.
http://habrahabr.ru/blogs/linux/82537/


"Релиз командного интерпретатора Bash 4.2"
Отправлено Анонимъ , 14-Фев-11 18:03 

Bash
Latest Stable release:     4.2  February 13, 2011
License: GPL 3


Z shell
Latest Stable release:     4.2.7  December 18, 2007
License: MIT-like


+ bash есть везде от Mac OS X до Solaris из коробки.


итого, вы голубчик промахнулись, протухло явно zsh.


"+1"
Отправлено Вова , 14-Фев-11 18:14 
set -o vi в руках любителя вим, либо знание емаксовых хоткеев + использование биты ! +  использование !$ и подобных сокращений  - и zsh как-то становится ненужен.

"+1"
Отправлено non anon , 14-Фев-11 19:47 
> set -o vi в руках любителя вим, либо знание емаксовых хоткеев +
> использование биты ! +  использование !$ и подобных сокращений  
> - и zsh как-то становится ненужен.

Сразу видно человека, который не знает ничего про zsh :)


"Релиз командного интерпретатора Bash 4.2"
Отправлено non anon , 14-Фев-11 19:49 
> Z shell
> Latest Stable release:  4.2.7  December 18, 2007
> License: MIT-like
> итого, вы голубчик промахнулись, протухло явно zsh.

Спасибо, поржал :-)

$ echo $ZSH_VERSION
4.3.10


"Релиз командного интерпретатора Bash 4.2"
Отправлено Анонимъ , 14-Фев-11 20:04 
>Спасибо, поржал :-)
>$ echo $ZSH_VERSION
>4.3.10

потому что кроме как ржать ты ни на что не способен.

http://zsh.sourceforge.net/FAQ/zshfaq01.html#l6


"Релиз командного интерпретатора Bash 4.2"
Отправлено Michael Shigorin , 14-Фев-11 23:09 
> http://zsh.sourceforge.net/FAQ/zshfaq01.html#l6

И?  Вы ещё скажите, что mutt-1.5 пользоваться нельзя.


"Релиз командного интерпретатора Bash 4.2"
Отправлено G0Dzilla , 14-Фев-11 22:42 
Нет, не везде. В коммерческих UNIX баш обычно не ставится из коробки. Про солярис сейчас точно не скажу, давно не работал, но в AIX точно надо ставить его отдельно. А на маке не только баш есть, там кучу всего понапихали.

"Релиз командного интерпретатора Bash 4.2"
Отправлено cadmi , 16-Фев-11 22:39 
> Нет, не везде. В коммерческих UNIX баш обычно не ставится из коробки.
> Про солярис сейчас точно не скажу, давно не работал, но в
> AIX точно надо ставить его отдельно. А на маке не только
> баш есть, там кучу всего понапихали.

в варианте core install (с которого обычно и начинают ставить сервера), том, который мегабайт на 200, нет ни bash, ни zsh.

а если ставить дополнительно (они оба лежат на диске), то разницы нет, pkgadd -d blabla SUNWzsh или pkgadd -d blabla SUNWbash.

лично я всегда ставлю zsh :)


"Релиз командного интерпретатора Bash 4.2"
Отправлено Michael Shigorin , 14-Фев-11 23:04 
> итого, вы голубчик промахнулись, протухло явно zsh.

zsh-4.3 прекрасно работает. :) (а в bash4 кой-чего посломали по сравнению с 3.x, к сожалению)


"Релиз командного интерпретатора Bash 4.2"
Отправлено Аноним , 17-Фев-11 01:02 
И что же там сломали по сравнению с 3.х?

"Релиз командного интерпретатора Bash 4.2"
Отправлено Michael Shigorin , 17-Фев-11 12:02 
> И что же там сломали по сравнению с 3.х?

---
Практически все скрипты на sh -u, которые используют $@ или $*, имеют
отличные шансы сломаться при переезде с bash3 на bash4.
--- http://lists.altlinux.org/pipermail/devel/2010-August/183727...

Тж.
http://lists.altlinux.org/pipermail/devel/2010-August/183714...
http://lists.altlinux.org/pipermail/devel/2010-August/183852...
http://lists.altlinux.org/pipermail/devel/2010-August/183890...


"Релиз командного интерпретатора Bash 4.2"
Отправлено Аноним , 15-Фев-11 05:02 
> + bash есть везде от Mac OS X до Solaris из коробки.

На нормальных системах (FreeBSD) нет и не будет никогда.

> Latest Stable release:     4.2.7  December 18, 2007

Странно, откуда тогда а у меня

zsh 4.3.10 (i386-portbld-freebsd8.1)

> итого, вы голубчик промахнулись, протухло явно zsh.

Система ваша протухла и мозги.


"Релиз командного интерпретатора Bash 4.2"
Отправлено Vitaly_loki , 15-Фев-11 07:36 
> Bash
> Latest Stable release:  4.2  February 13, 2011
> License: GPL 3
> Z shell
> Latest Stable release:  4.2.7  December 18, 2007
> License: MIT-like
> + bash есть везде от Mac OS X до Solaris из коробки.
> итого, вы голубчик промахнулись, протухло явно zsh.

В *BSD его нет из коробки


"Релиз командного интерпретатора Bash 4.2"
Отправлено kshetragia , 15-Фев-11 12:44 
Для таких умников хочется кнопку "минус пицотмильонов". Задолбали.

"Релиз командного интерпретатора Bash 4.2"
Отправлено pavlinux , 14-Фев-11 19:16 
> Указание отрицательного индекса массива теперь не приводит к ошибке
> и воспринимается как обратное смещение от конца массива;

Чую появление бесконечных циклов в старых скриптах.


"Релиз командного интерпретатора Bash 4.2"
Отправлено Andrey , 14-Фев-11 20:11 
А как Вариант ... Вы написали замену?

"Релиз командного интерпретатора Bash 4.2"
Отправлено Sw00p aka Jerom , 14-Фев-11 21:41 
где это у вас такое ?

вроде с первого класса проходят что индексы у массивов всегда положительные и начинаются с 0 или 1


"Релиз командного интерпретатора Bash 4.2"
Отправлено exn , 15-Фев-11 00:54 
>вроде с первого класса проходят что индексы у массивов всегда положительные и начинаются с 0 или 1

с нуля


"Релиз командного интерпретатора Bash 4.2"
Отправлено Sw00p aka Jerom , 15-Фев-11 13:49 
вы мало знакомы с языками

"Релиз командного интерпретатора Bash 4.2"
Отправлено exn , 15-Фев-11 20:37 
> вы мало знакомы с языками

абалденный аргумент, в виду своей скромности скажу что повседневно использую 7
различных языков только программирования, а вы?

http://en.wikipedia.org/wiki/Zero-based_numbering

как не трудно признавать но то что в lua с 1 не знал. но это маразм как и после -1 пойдет 1. и вообще у lua нет авторитета в этом вопросе, т.к язык создан для домохозяек и видимо по этой причине он такой.


"Релиз командного интерпретатора Bash 4.2"
Отправлено Sw00p aka Jerom , 15-Фев-11 21:42 
пруф за пруф

http://en.wikipedia.org/wiki/Off-by-one_error


"Релиз командного интерпретатора Bash 4.2"
Отправлено Sw00p aka Jerom , 15-Фев-11 21:44 
>> вы мало знакомы с языками
>  абалденный аргумент, в виду своей скромности скажу что повседневно использую 7
>  различных языков только программирования, а вы?
>  http://en.wikipedia.org/wiki/Zero-based_numbering
>  как не трудно признавать но то что в lua с 1
> не знал. но это маразм как и после -1 пойдет 1.
> и вообще у lua нет авторитета в этом вопросе, т.к язык
> создан для домохозяек и видимо по этой причине он такой.

не отрицательную а обращение по отрицательным индексам так же поддерживают пайтон и раби


"Релиз командного интерпретатора Bash 4.2"
Отправлено Sw00p aka Jerom , 15-Фев-11 21:48 
>> вы мало знакомы с языками
>  абалденный аргумент, в виду своей скромности скажу что повседневно использую 7
>  различных языков только программирования, а вы?
>  http://en.wikipedia.org/wiki/Zero-based_numbering
>  как не трудно признавать но то что в lua с 1
> не знал. но это маразм как и после -1 пойдет 1.
> и вообще у lua нет авторитета в этом вопросе, т.к язык
> создан для домохозяек и видимо по этой причине он так

из вашего пруфа

Older programming languages, such as Fortran or Cobol have array subscripts starting with one, because they were meant as high-level programming languages, and as such they had to have a correspondence to the usual ordinal numbers. Some recent languages, such as Lua, have adopted the same convention for the same reason.

видимо вы не тока не знакомы вы даже внимательно прчитать не можете


"Релиз командного интерпретатора Bash 4.2"
Отправлено pavlinux , 22-Фев-11 03:27 

2.16    Вот изящный трюк: если я пишу

        int realarray[10];
        int *array = &realarray[-1];,

    то теперь можно    рассматривать "array" как массив, у которого индекс
    первого    элемента равен единице.

О:      Хотя этот прием внешне привлекателен (и использовался в старых
        изданиях книги "Numerical Recipes in С"), он не удовлетворяет
        стандартам С. Арифметические действия над указателями определены лишь
        тогда, когда указатель ссылается на выделенный блок памяти или на
        воображаемый завершающий элемент, следующий сразу за блоком. В
        противном случае поведение программы не определено, _даже если
        указатель не переназначается_. Код, приведенный выше, плох тем,
        что при уменьшении смещения может быть получен неверный адрес
        (возможно, из-за циклического перехода адреса при пересечении
        границы сегмента).

        Смотри: ANSI Разд.3.3.6 c. 48, Rationale Разд.3.2.2.3 c. 38;
        K&R II  Разд.5.3 c. 100, Разд.5.4 c. 102-3, Разд.A7.7 c. 205-6.


"любителям всё быстренько обосрать "
Отправлено Аноним , 15-Фев-11 05:14 
>потому что кроме как ржать ты ни на что не способен.
>http://zsh.sourceforge.net/FAQ/zshfaq01.html#l6

любителям всё быстренько обосрать:
ftp://ftp.zsh.org/pub/
Файл:zsh-4.3.11.tar.bz2     2802 KB     20.12.2010


"любителям всё быстренько обосрать "
Отправлено Аноним , 15-Фев-11 09:25 
> любителям всё быстренько обосрать:
> ftp://ftp.zsh.org/pub/
> Файл:zsh-4.3.11.tar.bz2  2802 KB  20.12.2010

А то, что ветка 4.3 помечена как unstable для разработчиков, вы конечно не заметили ?


"любителям всё быстренько обосрать "
Отправлено Анонимъ , 15-Фев-11 12:01 
>> Файл:zsh-4.3.11.tar.bz2  2802 KB  20.12.2010
> А то, что ветка 4.3 помечена как unstable для разработчиков, вы конечно не заметили ?

Я выше уже дал линк на официальный FAQ zsh (http://zsh.sourceforge.net/FAQ/zshfaq01.html#l6) . Но упёртые пользователи zsh настолько ленивы что не читают даже коротеньких FAQ по продукту который используют.


"любителям всё быстренько обосрать "
Отправлено kshetragia , 15-Фев-11 12:48 
Как бы вам уже донести до мозга, что некоторые unstable "продукты" работают стабильнее многих стабильных. Подозреваю, что если бы это был не zsh, а debian, то вы бы заткнулись.

"Релиз командного интерпретатора Bash 4.2"
Отправлено DRVTiny , 15-Фев-11 08:06 
Скажите, а что за бред про глобальные переменные:
>Для команд declare/typeset добавлена новая опция "-g", при указании которой переменные имеют глобальную область видимости, т.е. видны даже в отдельных функциях;

В BASH переменные, объявленные в основном коде будут видны во всех сложенных в него функциях, это по-моему вполне стандартное поведение любого языка программирования. Если же имелось в виду, что переменная, объявленная глобально внутри функции, будет видна везде (и в основном коде тоже), при этом сохраняя своё значение между вызывами функции, то это хорошо (хоть и не шибко сильно нужно, если не сказать больше), но тогда бы и написали об этом по-человечески.
Насчёт сравнения zsh и bash - вы же всё-таки не забывайте о том, что речь идёт прежде всего о языке программирования shell, а не об удобствах оболочки. Безусловно, zsh как оболочка круче, в принципе пока что zsh опережает bash и как язык программирования (вот только скорость, что у bash, что у zsh ниже плинтуса), просто я не понимаю, причём здесь то, устанавливается где-то BASH по дефолту или нет, а уж особенно в контексте сравнения Linux и FreeBSD - с учётом того, что в последнем по дефолту вообще устанавливается довольно примитивная оболочка csh (название которой ИМХО говорит само за себя и полностью соответствует семантике встроенного языка).