LINUX.ORG.RU
 

Вышел Bash 3.0


0

0

После 2 лет затишья вышла новая версия самого популярного шелла.

>>> Release Notes

anonymous ()
Проверено: svyatogor (29.07.2004 20:47:24)

НАУЧИ КОМПЬЮТЕР ВАРИТЬ КОФЕ

управление электрическими цепями с помощью компьютера
лучший подарок для техногика; только открытые программы
http://www.unicontrollers.com/products/unc01x

[#]  

Re: Вышел Bash 3.0

Ура

anonymous ()
[#]  
swar0g

Re: Вышел Bash 3.0

ща придут бээсдэшники и заявят, что баш это кривая поделка

*** ()
[#] Ответ на: Re: Вышел Bash 3.0 от swar0g 29.07.2004 20:51:02  

Re: Re: Вышел Bash 3.0

Зачем он надо если есть mc?

anonymous ()
[#] Ответ на: Re: Вышел Bash 3.0 от swar0g 29.07.2004 20:51:02  
baka-kun

Re: Re: Вышел Bash 3.0

> ща придут бээсдэшники и заявят, что баш это кривая поделка

Нет, он очень неплох как интерактивный шелл. И даже в достаточной мере совместим с sh, чтобы выполнять скрипты. Но вот писать

#!/bin/bash

-- это действительно моветон.

**** ()
[#] Ответ на: Re: Re: Вышел Bash 3.0 от baka-kun 29.07.2004 20:54:44  

Re: Re: Re: Вышел Bash 3.0

> #!/bin/bash > -- это действительно моветон.

Да было бы вам известно, что /bin/sh в большинстве линуксов - симлинк на баш.

anonymous ()
[#]  

Re: Вышел Bash 3.0

гыгы, ну что подсветку наконец добавили?

anonymous ()
[#] Ответ на: Re: Re: Re: Вышел Bash 3.0 от anonymous 29.07.2004 21:10:44  

Вышел Bash 3.0

Bash-3.0 contains the following new features (see the manual page for complete descriptions and the CHANGES and NEWS files in the bash-3.0 distribution):

o Features to support the bash debugger have been implemented, and there is a new `extdebug' option to turn the non-default options on

o HISTCONTROL is now a colon-separated list of options and has been extended with a new `erasedups' option that will result in only one copy of a command being kept in the history list

o Brace expansion has been extended with a new {x..y} form, producing sequences of digits or characters

o Timestamps are now kept with history entries, with an option to save and restore them from the history file; there is a new HISTTIMEFORMAT variable describing how to display the timestamps when listing history entries

o The `[[' command can now perform extended regular expression (egrep-like) matching, with matched subexpressions placed in the BASH_REMATCH array variable

o A new `pipefail' option causes a pipeline to return a failure status if any command in it fails

o The `jobs', `kill', and `wait' builtins now accept job control notation in their arguments even if job control is not enabled

o The `gettext' package and libintl have been integrated, and the shell messages may be translated into other languages

anonymous ()
[#] Ответ на: Re: Re: Re: Вышел Bash 3.0 от anonymous 29.07.2004 21:10:44  
svu

Re: Re: Re: Re: Вышел Bash 3.0

Кстати, это подножка для скриптописателей. Они пишут #!/bin/sh - используют в скриптах bash-измы - а потом удивляются, что на солярке-хпуксе-... оно не работает. Наверное, все-таки надо было оставить /bin/sh и /bin/bash разными...

***** ()
[#] Ответ на: Вышел Bash 3.0 от anonymous 29.07.2004 21:15:17  

Re: Вышел Bash 3.0

> The `gettext' package and libintl have been integrated, and the shell messages may be translated into other languages

Гы... Интересно: сколько найдётся любителей попользоваться командной строкой, неспособных перевести со словарём с английского на свой родной?

Как-то в моём представлении (и опыте) коммандлайнер --- это одна из финальных ступеней развития, начинавшегося с понимания того, что перед использованием программы, к ней полезно почитать документацию, причём на языке оригинала (как правило английском).

** ()
[#] Ответ на: Re: Re: Re: Re: Вышел Bash 3.0 от svu 29.07.2004 21:17:40  

Re: Re: Re: Re: Re: Вышел Bash 3.0

Когда bash вызывается как /bin/sh, он максимально пытается эмулировать посиксовый sh. Так что это Ваши домыслы :) Выдержка из man bash:
If bash is invoked with the name sh, it tries to mimic the startup behavior of historical versions of sh as closely as possible, while conforming to the POSIX standard as well.

* ()
[#]  
svyatogor

Re: Вышел Bash 3.0

там еще что-то о multibyte сказано. авось починили баги с UTF...

***** ()
[#] Ответ на: Re: Вышел Bash 3.0 от lumag 29.07.2004 21:20:13  

Re: Re: Вышел Bash 3.0

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

сколько пафоса.. чтение доков оправдано для функционально СЛОЖНОЙ программы. аргументы командой строки оправданы только для АВТОМАЦИИ, скажем читать ман вгета чтобы просто скачать файл - эта какая ступень развития? (привет фригету кстати!) гуй, хоть и неавтоматизируемый, но до некоторой степени САМОДОКУМЕНТИРУЕМ, даже названия кнопок уже заменяют поиск букв аргументов в мане. да, когда прога посложнее, или иначе говоря - ориентирована на повер юзеров, доки читать полезно и нужно. но если ориентирована на юзеров (гуй!), необходимость чтения документации - плохой знак.

anonymous ()
[#] Ответ на: Re: Вышел Bash 3.0 от anonymous 29.07.2004 21:13:52  

Re: Re: Вышел Bash 3.0

самое интересное- вроде есть =) ! на моеём слакваре очень даже хорошо подсвечивается !

()
[#]  

Re: Вышел Bash 3.0

Так, чё-то я не поэл. Почему конфиг до сих пор не в одном большом XML файле? :)

** ()
[#] Ответ на: Re: Re: Re: Re: Re: Вышел Bash 3.0 от steam 29.07.2004 21:35:26  
baka-kun

Re: Re: Re: Re: Re: Re: Вышел Bash 3.0

> Когда bash вызывается как /bin/sh, он максимально пытается эмулировать посиксовый sh.

Это Ваши домыслы. Расширенные конструкции, отсутствующие в sh, никуда не исчезают. Да и читайте внимательней (выделение мое):

> it tries to mimic the _STARTUP_ behavior

svu абсолютно прав насчет bash-измов. Только тот, кто всю жизнь просидел в линуксе и виндах, не сталкивался с ними.

**** ()
[#] Ответ на: Re: Re: Вышел Bash 3.0 от anonymous 29.07.2004 21:47:41  

Re: Re: Re: Вышел Bash 3.0

точно ... надо к башу написать фронт-енд на жаве - что бы и под виндой работало.

()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Вышел Bash 3.0 от baka-kun 29.07.2004 22:35:03  

Re: Re: Re: Re: Re: Re: Re: Вышел Bash 3.0

> Это Ваши домыслы. Расширенные конструкции, отсутствующие в sh, никуда не исчезают
А Вы читайте, читайте дальше: "...while conforming to the POSIX standard as well" и "When invoked as sh, bash enters posix mode after the startup files are read". Не знаю, на сколько близко он соответствует этим стандартам, а проверять мне лениво, но ДОЛЖЕН им при вызове сооветствовать. По крайней мере, по документации.

> svu абсолютно прав насчет bash-измов. Только тот, кто всю жизнь просидел в линуксе и виндах, не сталкивался с ними.
Каждый шелл имеет свои особенности, и это не есть отличительная черта bash-а.

* ()
[#] Ответ на: Re: Re: Re: Re: Вышел Bash 3.0 от svu 29.07.2004 21:17:40  

Re: Re: Re: Re: Re: Вышел Bash 3.0

>Кстати, это подножка для скриптописателей. Они пишут #!/bin/sh - используют в скриптах bash-измы - а потом удивляются, что на солярке-хпуксе-... оно не работает.

Это цитата из ru.linux годичной давности (почти слово в слово)? :)

* ()
[#] Ответ на: Re: Вышел Bash 3.0 от swar0g 29.07.2004 20:51:02  
ansi

Re: Re: Вышел Bash 3.0

>ща придут бээсдэшники и заявят, что баш это кривая поделка

Это тебе заявят не только бээсдэшники. Это давно доказано, что в мире шел, большего тормоза чем bash нету.

**** ()
[#]  

Re: Вышел Bash 3.0

Корректно ли он теперь обрабатывает строку вида

$echo "s" | read i ; echo $i ????

А то ни старый баш ни pdksh не выводят s.....

anonymous ()
[#] Ответ на: Re: Вышел Bash 3.0 от anonymous 29.07.2004 23:30:24  

Re: Internet Explorer теряет рынок. Совокупная доля альтернативных браузеров выросла за месяц на 26%

только хотел написать что всё нормально - выводит он s, но тут вспомнил - у меня же zsh! :)

а баш действительно не выводит...ну и нафиг его :)

()
[#] Ответ на: Re: Re: Re: Вышел Bash 3.0 от pinguino 29.07.2004 22:44:02  

Re: Re: Re: Re: Вышел Bash 3.0

Будешь смеяться, но bash под виндой работает. И при этом юзается зачастую всякими солидными софтинами, например Tivoli.

* ()
[#] Ответ на: Re: Re: Re: Re: Re: Вышел Bash 3.0 от steam 29.07.2004 21:35:26  

Re: Re: Re: Re: Re: Re: Вышел Bash 3.0

> он максимально пытается эмулировать посиксовый sh

Ключевое слово - "пытается". Только у него это плохо получается ;)

> it tries to mimic the startup behavior

А здесь ключевое слово - "startup". Интересно именно целиком, а не
только startup.

** ()
[#] Ответ на: Re: Вышел Bash 3.0 от svyatogor 29.07.2004 21:45:53  

Re: Re: Вышел Bash 3.0

> там еще что-то о multibyte сказано. авось починили баги с UTF...

А вот это действительно интересно. Кто-нибудь может подтвердить?

anonymous ()
[#] Ответ на: Re: Re: Вышел Bash 3.0 от anonymous 30.07.2004 1:04:58  
init

Re: Re: Re: Вышел Bash 3.0

>> там еще что-то о multibyte сказано. авось починили баги с UTF...

> А вот это действительно интересно. Кто-нибудь может подтвердить?

Так вот, в release notes написано:

More improvements and speedups to the multibyte character support are present.

***** ()
[#] Ответ на: Re: Re: Re: Вышел Bash 3.0 от init 30.07.2004 4:02:39  

Re: Re: Re: Re: Вышел Bash 3.0

Ща паставлю.. А пока КГ/АМ...

anonymous ()
[#] Ответ на: Re: Re: Re: Re: Вышел Bash 3.0 от anonymous 30.07.2004 5:54:42  

Re: Re: Re: Re: Re: Вышел Bash 3.0

4steam: Уй, вы натурально нипонемаете.

Про #!/bin/sh и #!/bin/bash обсасывали ж с год назад штоле?
башизмы с #!/bin/sh - давить!

//Loseki

anonymous ()
[#] Ответ на: Re: Re: Re: Re: Вышел Bash 3.0 от Oldmann 30.07.2004 0:22:05  

Re: Re: Re: Re: Re: Вышел Bash 3.0

> всякими солидными софтинами, например Tivoli.

И что же солидного в этой поделке от конторы на 3 буквы? :-/

anonymous ()
[#] Ответ на: Re: Вышел Bash 3.0 от anonymous 29.07.2004 23:30:24  

Re: Re: Вышел Bash 3.0

Скобочки вокруг поставь - грамотей :)
echo "s" | (read i ; echo $i)
s

anonymous ()
[#] Ответ на: Re: Re: Re: Вышел Bash 3.0 от pinguino 29.07.2004 23:22:00  

Re: Re: Re: Re: Вышел Bash 3.0

> а чем он тормоз то ?

тем что ожидает ввода "тормоза" за ним работающего

***** ()
[#] Ответ на: Re: Re: Вышел Bash 3.0 от ansi 29.07.2004 23:08:24  
aim1159

Re: Re: Re: Вышел Bash 3.0

а как же ZSH? ;)
Или он уже быстрее баша стал?

**** ()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Вышел Bash 3.0 от steam 29.07.2004 22:59:05  

Re: Re: Re: Re: Re: Re: Re: Re: Вышел Bash 3.0

можно триста раз прочитать, что там кто-то пишет, но практика показывает обратное: скрипт написанный типа на sh под линуксом отказался работать под freebsd-шным sh. причем грабля была в работе с массивами. так что теория без практики - мертва.

anonymous ()
[#]  

Re: Вышел Bash 3.0

подскажите где нейти человеческую доку по программированию в sh?
типа башевского advanced bash scripting, где бы нормально описывалась работа с массивами, мат вычисления и т.д. и т.п.

anonymous ()
[#] Ответ на: Re: Re: Re: Re: Вышел Bash 3.0 от mator 30.07.2004 10:21:11  

Re: Re: Re: Re: Re: Вышел Bash 3.0

если честно я не оченль понял что ты имел ввиду ... :S

()
[#] Ответ на: Re: Вышел Bash 3.0 от lumag 29.07.2004 21:20:13  

Re: Re: Вышел Bash 3.0

финальная ступень - дальше смерть?

anonymous ()
[#] Ответ на: Re: Re: Вышел Bash 3.0 от anonymous 29.07.2004 20:52:57  

Re: Re: Re: Вышел Bash 3.0

Зачем оно надо,  если есть KDE?
Зачем оно надо,  если есть WinXP?
Зачем оно надо,  если есть пиво?

Так рассуждаем?

*** ()
[#]  

Re: Вышел Bash 3.0

Нда...нашли блин недостаток - bash он видите ли не sh. Вы бы еще сказали, что хаммер плохо эмулирует запор. :) А у меня и на HP-UX и на Solaris везде bash стоит и меня совсем не волнует, что мои скрипты могут содержать bashизмы. Как я думаю всяких фанатов *sh не волнует что их *sh несовместима с sh совсем.

anonymous ()
[#] Ответ на: Re: Вышел Bash 3.0 от anonymous 30.07.2004 11:13:57  
int19h

Re: Re: Вышел Bash 3.0

Видишь ли, есть такая штука - "стандарт POSIX" называется, умные дяди писали... а нужна она, чтоб можно было, скажем, configure-скрипты и тому подобные вещи пускать под любым унихом, у которого есть POSIX shell.

**** ()
[#]  

Re: Вышел Bash 3.0

Совершенно согласен. Что отнють не делает всевозможные csh/ksh/*sh фуфлом, верно? Чем вам мешает bash? Я скорее соглашусь, что проблема в том, что в linux нет чистого sh. Руки прочь от bash! :)

anonymous ()
[#] Ответ на: Re: Re: Re: Вышел Bash 3.0 от aim1159 30.07.2004 10:31:41  
ananas

Re: Re: Re: Re: Вышел Bash 3.0

> а как же ZSH? ;) Или он уже быстрее баша стал?

так он всегда быстрее был.

***** ()
[#] Ответ на: Re: Re: Re: Re: Re: Вышел Bash 3.0 от steam 29.07.2004 21:35:26  
svu

Re: Re: Re: Re: Re: Re: Вышел Bash 3.0

>, it TRIES to mimic the startup behavior

Выделение мое:) Я точно не помню - но я то ли раз, то ли два умудрялся наваять скрипт с /bin/sh, который не пошел сразу в solaris. Детали не спрашивайте - это было давно:) Вообще, где бы посмотреть, чем это TRIES отличается от реального /bin/sh?...

***** ()
[#] Ответ на: Re: Вышел Bash 3.0 от anonymous 30.07.2004 11:42:00  

Re: Re: Вышел Bash 3.0

***

вот, а вы мне объясните, почему такая прога:

for i in a b "c c" d; do
  echo $i
done

выводит:
a
b
c c
d

а такая:

L='a b "c c" d'
for i in $L; do
  echo $i
done

выводит:
a
b
"c
c"
d

и как это пофиксить?

anonymous ()
[#] Ответ на: Re: Вышел Bash 3.0 от anonymous 30.07.2004 11:42:00  
svu

Re: Re: Вышел Bash 3.0

Заметьте, никто не призывал выкинуть bash. bash - это наше все (после XML, разумеется:). Мой первый пост заканчивался словами: "Наверное, все-таки надо было оставить /bin/sh и /bin/bash разными..."

***** ()
[#] Ответ на: Re: Re: Вышел Bash 3.0 от anonymous 30.07.2004 13:04:58  

Re: Re: Re: Вышел Bash 3.0

Всё дело в волшебных пузырьках, то бишь в кавычках. В дебрях man'а это где-то расписано. Если на пальцах, то одинарная кавычка отменяет "специальность" двойной.

***** ()
[#] Ответ на: Re: Вышел Bash 3.0 от anonymous 29.07.2004 21:13:52  

Re: Re: Вышел Bash 3.0

>гыгы, ну что подсветку наконец добавили?

Еще нет, но добавили подъюльку и модмашку, сейчас ведется работа по добавлению поднадюшки. Кстати, недавно появился форк с поддимкой.

** ()
[#] Ответ на: Re: Re: Вышел Bash 3.0 от anonymous 30.07.2004 13:04:58  

Re: Re: Re: Вышел Bash 3.0

Вот еще один выискался.

Блин, ну не ужели трудно подумать и вызвать ман?

Тут ведь не тупизм bash, а тупизм програмиста писавшего сие :(

Лучше сформулируй что ты хочешь вывести в цикле.

* ()
[#] Ответ на: Re: Re: Вышел Bash 3.0 от anonymous 30.07.2004 13:04:58  

Re: Re: Re: Вышел Bash 3.0

L="a b \"c c\" d"
for i in $L; do
echo $i
done

** ()
[#] Ответ на: Re: Re: Вышел Bash 3.0 от anonymous 30.07.2004 13:04:58  

Re: Re: Re: Вышел Bash 3.0

> и как это пофиксить?

Кавычки не пробовал менять местами?

anonymous ()