LINUX.ORG.RU

GNU Bash 4.0

 


0

0
Казалось бы, а что можно еще сделать в интерпретаторе командной строки? Оказывается — можно. Итак, вышла версия 4.0 Bourne Again SHell с более чем тридцатью изменениями в логе, в частности
  • $BASHPID теперь содержит PID текущего шелла
  • Опции autocd, checkjobs, compopt, read, dirspell, globstar
  • Переменные COMP_TYPE и COMP_KEY для тех, кто пользуется программируемым дополнением
  • bash будет более настойчиво (например, при недостатке памяти) пытаться запустить дочерние процессы
  • Встроенный ulimit теперь включает опции -b (размер буфера для сокетов) и -T (число потоков)
  • ...а также 10 изменений в библиотеке readline.
Подробности можно посмотреть в файле NEWS внутри архива с BASH.

>>> Скачать

★★★★★

Проверено: JB ()
По ссылке "Скачать" адрес ну прям жесть какой ультратрушный =) Аж выглядит приятно.
holka
()
Ответ на: комментарий от firsttimeuser
>очень приятно когда для mplayer автодополняются только те файлы которые он умеет

Особенно прикольно смотреть flv, которые дополнять он не хочет

mutronix ★★★★
()
Ответ на: комментарий от firsttimeuser
>Но я наловчился "ls этот_файл", а потом в начало строки и быстренько команду на нужную сменить.

Вот это я и имел ввиду

Отредактировать скрипт было не комильфо? ;)

mutronix ★★★★
()
Ответ на: комментарий от Manhunt
читали бы вы новости о выходе ленни знали бы, что хотели перейти, но всё-таки пока оставили bash вместо dash.
maloi ★★★★★
()
Ответ на: комментарий от Sylvia
> а скрипты тоже все начинаются с

За скрипты, начинающиеся с #!/bin/bash, надо руки отрывать. По-хорошему, вообще всех пейсателей "на баше" надо бы репрессировать.

dm1024 ★★★
()
Ответ на: комментарий от maloi
> читали бы вы новости о выходе ленни знали бы, что хотели перейти, но всё-таки пока оставили bash вместо dash.

А почему вы решили, что я этого не знал? ;)

Manhunt ★★★★★
()
Ответ на: комментарий от dm1024
а если скрипт такой что требует только bash ?
если /bin/sh , который был башем, облегчить до dash например, то скрипт начнет глючить, уж лучше сразу в такой #!/bin/bash
Sylvia ★★★★★
() автор топика
Ответ на: комментарий от dm1024
> За скрипты, начинающиеся с #!/bin/bash, надо руки отрывать

В том и только в том случае, если в скрипте нет ничего bash-специфичного
dexpl ★★★★★
()
Ответ на: комментарий от nnz
> Впрочем, знаю одного фаната этой фиговины из числа упертых фряшников - хоть и завидует умным комплитам баша, но жить не может без "фичистой" прокрутки истории (с поиском по первым символам).

Для этого фряха не нужна, это есть в zsh.

dm1024 ★★★
()
Ответ на: комментарий от Sylvia
> если изжить то посыпятся init скрипты и скрипты инсталляции в отдельных пакетах, например debian-keyring

Возмутительное 4.2. Больше года жил на тестинге с dash в качестве /bin/sh, с Debian не было ни одной проблемы. Были неприятности с башизмами в сторонних софтинах.

dm1024 ★★★
()
Ответ на: комментарий от Sylvia
> а если скрипт такой что требует только bash ?

А надо писать не "на баше", а на shell. Какие, скажите мне, немыслимые сложности, нереализуемые в традиционном шелле, содержат скрипты в /etc в дистрибутиве Arch линупс? Диагноз прост - баш головного мозга.

dm1024 ★★★
()
Честно говоря, за последние два года пользовался только zsh и бизибоксом, после zsh баш кажется слишком уж убогим. Но то, что он продолжает развиваться и радовать своих пользователей, несомненно, отличная новость!
Laz ★★★★★
()
Ответ на: комментарий от madcore
>Какая разница, если почти во всех дистрах sh это симлинк на bash?

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

Laz ★★★★★
()
Ответ на: комментарий от prizident
>bash.. zsh.. на всяких говносолярах и говночпуках этого и в помине нет. вместе с автодоплнением и даже повтором команды..

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

Тем кто умеет бороться с "гениальными" догадками баша по поводу имен файлов могу сказать, что мне в консоли намного удобнее самому табом выбирать необходимое имя. По сути это ведь не unix-way полагаться на вантузные расширения имен. Флаги и сигнатуры - вот способ определения типа файла а вовсе не его имя. Знакомая как-то присылает файл и жалуется, что ексель его открывать не хочет. А все потому, что какой-то умник запаковал его зипом а расширение оставил xls. Вантуз эту ситуацию не прочухал, а миднайт сразу определил что это архив при попытке просмотра. Я не к тому, что надо все файлы в каталоге прочитывать и определать кто есть ху, а к тому что излишняя догадливость тут неуместна, IMHO.

A-234 ★★★★★
()
Ответ на: комментарий от Sylvia
> главное чтобы не Buggy Again SHell :)

Buried Ancient SHell :(

Orlusha ★★★★
()
Ответ на: комментарий от A-234
> Про чпуксы не знаю а на солярке баш есть, сам его все время юзаю, другое дело что его как правило не делают шелом по умолчанию но руки то на что?

Начиная с 10-й соляры делают, только при старте башрц в юзерском хоме не выполняется или выполняется как-то не так.

Orlusha ★★★★
()
Ответ на: комментарий от A-234
> А все потому, что какой-то умник запаковал его зипом а расширение оставил xls.

Криптография на коленке для глупых ментов?

Orlusha ★★★★
()
Ответ на: комментарий от Liteblackk
> У меня Fedora
> ждем рпмов

А кое-кто ждет екзешников О_О
lxx
()
Ответ на: комментарий от dm1024
> А надо писать не "на баше", а на shell. Какие, скажите мне, немыслимые сложности, нереализуемые в традиционном шелле, содержат скрипты в /etc в дистрибутиве Arch линупс? Диагноз прост - баш головного мозга.

Мало Вы скриптов писали, милейший. Тривиальная вещь:

for ((i=0; i<$NCYCLE; i++))

do

some_shit

done

Изобразите на шелле. Особенно славно, когда такие фишки десятками... :(

Orlusha ★★★★
()
Ответ на: комментарий от se
> пользовался bash`ем 6 лет. не понял почему надо менять csh на него.

А у Вас стрелочки в csh работали?

Orlusha ★★★★
()
Ответ на: комментарий от argin
> o The shell provides associative array variables, with the appropriate support to create, delete, assign values to, and expand them.

> Если это то, чем оно кажется, то это большой шаг вперед.

Да здравствует psh -- Perl SHell!!!

Orlusha ★★★★
()
Ответ на: комментарий от dm1024
>> Впрочем, знаю одного фаната этой фиговины из числа упертых фряшников - хоть и завидует умным комплитам баша, но жить не может без "фичистой" прокрутки истории (с поиском по первым символам).

> Для этого фряха не нужна, это есть в zsh.


А в fish - не только по первым. Правда она тормозит безбожно на любом автокомплишне.
naryl ★★★★★
()
Ответ на: комментарий от Orlusha
> Мало Вы скриптов писали, милейший. Тривиальная вещь:

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

dm1024 ★★★
()
Ответ на: комментарий от naryl
> А в fish - не только по первым.

А мне надо по первым. Не по первым есть классический поиск по истории назад.

dm1024 ★★★
()
Ответ на: комментарий от Sylvia
> если /bin/sh , который был башем, облегчить до dash например, то скрипт начнет глючить, уж лучше сразу в такой #!/bin/bash

Либо просто желания тестировать скрипт на zsh, dash и все что взбредет в голову пользователю нет.

Если хочет - пусть сам меняет интерпретатор, сам тестирует и сам правит.

skwish ★★
()
Ответ на: комментарий от Sylvia
> если /bin/sh , который был башем, облегчить до dash например, то скрипт начнет глючить, уж лучше сразу в такой #!/bin/bash

Ещё милая ситуация. Есть скрипт под sh, не мною писанный и немаленький. Надо его запустить под cygwin (ну, скажем, пункт в проекте такой). Запускаем, выходит ерунда. Делаем cd /bin, потом

$diff bash.exe sh.exe

$

Немая сцена. Типа за нас подумали. Скриптик править надо, а в нём несколько тысяч строк... Блин...

Orlusha ★★★★
()
А почему никто не упомянул про переход на GPLv3?
schakal
()
Ответ на: комментарий от dm1024
> Этим "тривиальным вещам" не место в системных скриптах. А если Вам с Вашими задачами становится тесно в классическом shell, не морочьте себе и остальным голову и возьмите более подходящий Вашим задачам язык программирования, а не извращайтесь в шелле-переростке.

Задача: кроссплатформенный харнесс для тестирования производительности, да такой, чтобы работал во всех посиксных системах. Цикл -- штука принципиальная, без неё нельзя. К тому же нужен минимальный расход системных ресурсов, стабильный во времени, отчего перл с его сборкой мусора не годится. Написать урезанный баш специально для такой задачи нет ресурсов. Вот такая ситуёвина.

Orlusha ★★★★
()
Ответ на: комментарий от Laz
>Вот-вот, _почти_. Башизмы - вещь исключительно полезная, но за использование их в системных скриптах нужно не только руки отрывать, но и все остальные части тела.

Если это не обрезанная система на основе какого-нибудь busybox, то не вижу смысла себя ограничивать. Особенно если это приведет к привлечению лишних сущностей типа перла. Вот винегрет из языков в скриптах точно не нужен.
madcore ★★★★★
()
Ответ на: комментарий от JackYF
seq нельзя считать конструкцией shell, поскольку это отдельная программа.
dm1024 ★★★
()
Ответ на: комментарий от dm1024
Какая вообще разница, что использовать в системных скриптах? Да пусть там хоть перл с питоном будут, что с того?
JaM
()
Ответ на: комментарий от JaM
в учетом того что python на некоторых дистрибутивах теперь неотьемлимая часть системы (Gentoo например) , то вполне может быть,
хотя это и нежелательно

Keep It Simple Stupid...
Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Demon37
>>Какая вообще разница, что использовать в системных скриптах?

>Вообще-то переносимость ухудшается.


Зачем в а каком-то конкретном дистре что-то куда-то переносить?
madcore ★★★★★
()
Ответ на: комментарий от madcore
>Зачем в а каком-то конкретном дистре что-то куда-то переносить?

Стремиться к стандартизации. Перешёл на другой дистрибутив -- глядь, а там скрипты знакомы и понятны.

Demon37 ★★★★
()
Ответ на: комментарий от Orlusha
>Начиная с 10-й соляры делают, только при старте башрц в юзерском хоме не выполняется или выполняется как-то не так.

да и соляр где б он вдруг установлен я видел очень мало. ksh. а еще aix... в итоге среди всего зоопарка доля систем с башем очень мала, а работаешь на них еще реже т.к. линукс обычно. а привыкать работать нужно с универсальными средствами. потому и vi

prizident ★★★★★
()
Пока не научится делать меню автокомплита a la zsh -- неюзабелен, к сожалению.
a3
()
Ответ на: комментарий от Demon37
Это каким же образом переносимость ухудшается, если у системных скриптов её отродясь не было? А если даже и случиться чудо и скрипты стандартизируются, то интерпретатор этому помехой не будет. Баш, он и во фре баш.
JaM
()
Ответ на: комментарий от Sylvia
>в учетом того что python на некоторых дистрибутивах теперь неотьемлимая часть системы (Gentoo например)

Вообще то сдандарт eapi-2 говорит только о системе портов, как о шелле и некоторых стандартах написания этих шелл скриптов. Существуют ПМ-ы, альтернативные emerge-у, написанные не на pythone, а на C++. Можно нормально работать без emerge, с другим ПМ

т.е благодаря давлению альтернативных ПМ, в частности палудиса, эта лишняя сущность потихоньку изживается из основания системы.

argin ★★★★★
()
>Казалось бы, а что можно еще сделать в интерпретаторе командной строки? Оказывается — можно.

Вопрос: что можно сделать?
Ответ: Можно.

Как в анекдоте: "Тебе с сахаром или без?" "Да".
jackill ★★★★★
()
Ответ на: комментарий от Demon37
>>Зачем в а каком-то конкретном дистре что-то куда-то переносить?

>Стремиться к стандартизации. Перешёл на другой дистрибутив -- глядь, а там скрипты знакомы и понятны.

В генту перешли на специальный бинарный интерпретатор для скриптов загрузки, и тоже аргументируют заботой о совместимости. И возможно это правильный подход, так как все системы загрузочных скриптов начинают создавать какие то библиотеки. Потому возможно имеет смысл сделать специальный бинарный интерпретатор для уже включающий в себя все необходимые функции. Это разумнее с точки зрения эффективности.

argin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.