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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.