LINUX.ORG.RU

BashDiff

 ,


0

0

BashDiff - это патч для оболочки Bash, который расширяет существующие функции Bash, добавляет приемы языка awk, а также некоторые функции C; добавляет механизм исключений, а также новые возможности функционального программирования, такие как генераторы списков и map-функции; позволяет работать с GTK+2 и базами данных, даже добавляет в стандартную bash-оболочку веб-сервер. Небольшой рассказ об этом патче вы найдете в статье Б.Мартина (Ben Martin, перевод - Александра Тарасова) "BashDiff: новые приемы в оболочке Bash".

>>> Подробности

Re: BashDiff

> позволяет работать с GTK+2
/me представил себе шелл, тянущий гтк...

> базами данных

...мускль...

> добавляет ... веб-сервер

... и апач.

ChALkeR ★★★★★ ()
Ответ на: Re: BashDiff от ChALkeR

Re: BashDiff

жесть. зачем онон нужно?

Tux-oid ()
Ответ на: Re: BashDiff от Tux-oid

Re: BashDiff

Видимо, ответ на объектно-ориентированный MS Power Shell

pashazz ★★★★ ()

Re: BashDiff

Зачем уродовать шелл чем то нестандратным?

Хочется - сделай отдельно!

GAMer ★★★★★ ()

Re: BashDiff

Блекджек и шлюхи встроены в пасхалку.

anonymous ()

Re: BashDiff

Велосипед. Зачем нужен он, если есть bash+awk+<что_угодно>?

anonymous ()

Re: BashDiff

Впечатляет, очень. Жаль по ссылке данна очень скудная информация. Примеров использования GTK, не обнаружил.

anonymous ()

Re: BashDiff

Лёгким движением рук^W патча, bash превращается в zsh!

ZZaiatSS ★★ ()

Re: BashDiff

Функция `map` в моём BASH?

Sphinx ★★☆☆ ()

Re: BashDiff

Вот нет чтобы довести до ума 'умный' completition.....

anonymous ()
Ответ на: Re: BashDiff от anonymous

Re: BashDiff

> позволяет работать с GTK+2

И зачем это надо?

Rapt0r ()
Ответ на: Re: BashDiff от Aesthete

Re: BashDiff

+пицотдвинацать!

А нахера надо все в одном флаконе? Вы видели лобзик со встроенным амперметром? Я нет!

m1rag3 ★★ ()
Ответ на: Re: BashDiff от Rapt0r

Re: BashDiff

>> позволяет работать с GTK+2

> И зачем это надо?

Иногда бывает удобнее, если bash-скрипт задаёт вопросы пользователю не в консоли, а в окнах с 3 кнопками: да-нет-не знаю, или рисует картинку. Конечно, для этого можно взять, например, питон...

question4 ★★★★★ ()
Ответ на: Re: BashDiff от anonymous

Re: BashDiff

> Вот нет чтобы довести до ума 'умный' completition.....

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

firsttimeuser ★★★★★ ()
Ответ на: Re: BashDiff от question4

Re: BashDiff

> Иногда бывает удобнее, если bash-скрипт задаёт вопросы пользователю не в консоли, а в окнах с 3 кнопками: да-нет-не знаю, или рисует картинку. Конечно, для этого можно взять, например, питон...

или zenity (gtk), под куте тоже есть приблуда, забыл как називается

firsttimeuser ★★★★★ ()

Re: BashDiff

Скажите, а как в bash сделать так, что бы в истории не хранились
повторы. Т.е.

$date
$ls
$ls
$ls
$ls
$ls
$<UP><UP>

И при стрелочке вверх два раза появлялась date, а не приходилось долго
листать сквозь одинаковые команды.

anonymous_num_0 ()
Ответ на: Re: BashDiff от anonymous_num_0

Re: BashDiff

export HISTCONTROL=ignoredups

не то? :)

anonymous ()
Ответ на: Re: BashDiff от anonymous_num_0

Re: BashDiff

echo "export HISTCONTROL=ignoreboth" >>~/.bashrc

Slavaz ★★★★★ ()

Re: BashDiff


охренесть. а встроенного SQL сервера он случаем не добавляет? ну чтобы там хистори хранить и пр.

// wbr

klalafuda ★☆☆ ()

Re: BashDiff

что толку писать на этом баше если скрипты становятся непереносимыми...

Banshee ()

Re: BashDiff

кто-то уже тестил? как-то лениво пересобирать баш чтобы на эту весьма странную вещь поглядеть.

Komintern ★★★★★ ()

Re: BashDiff

>Иногда бывает удобнее, если bash-скрипт задаёт вопросы пользователю не в консоли, а в окнах с 3 кнопками: да-нет-не знаю, или рисует картинку.

Чем это удобнее? Необходимостью брать в руку мышку, вместо того чтобы нажать одну из трех клавиш?

anonymous ()
Ответ на: Re: BashDiff от klalafuda

Re: BashDiff

> охренесть. а встроенного SQL сервера он случаем не добавляет?

Их всех кто-то покусал:

> An extension of GAWK, the GNU implementation of the AWK Programming Language, for processing XML data. XMLgawk is just one of the extensions that come with the xgawk distribution. The others are the PostgreSQL and the MPFR extension.

http://home.vrweb.de/~juergen.kahrs/gawk/XML http://directory.fsf.org/project/xgawk

anonymous ()
Ответ на: Re: BashDiff от question4

Re: BashDiff

Не надо брать питон не глядя. Возьмётесь ещё не там. Для диалога с пользователем достаточно просто xdialog-a.

kilolife ★★★★★ ()
Ответ на: Re: BashDiff от question4

Re: BashDiff

> Иногда бывает удобнее, если bash-скрипт задаёт вопросы пользователю не в консоли, а в окнах с 3 кнопками: да-нет-не знаю, или рисует картинку. Конечно, для этого можно взять, например, питон...

bash и питон не нужны! ГУЙ давно есть в ksh!

http://kornshell.com/doc/faq.html

anonymous ()

Re: BashDiff

А как же юникс-вей? Или это для заблудших в линуксах виндузятников?

anonymous ()
Ответ на: Re: BashDiff от ChALkeR

Re: BashDiff

> /me представил себе шелл, тянущий гтк...

man dlopen ?

Bohtvaroh ★★★★ ()

Re: BashDiff

zsh рулит, а это ни к чему и ни о чём

anonymous ()

Re: BashDiff

Довольно полезное расширение.

MiracleMan ★★★★★ ()

Re: BashDiff

не-unix-way это, господа

для каждой задачи своя программа, которая эту задачу делает максимально хорошо

а не комбайны строить, где кучи ненужной ерунды и работает через задницу.

swar0g ★★★★ ()

Re: BashDiff

Несколько(нифига) не укладывается в UNIX-way. IMHO бред. Давайте ещё к mount прикрутим функцию разметки диска или интегрируем возможность создания файловой системы. А что, mount --ifnofsexistscreateone=ext2 /dev/sda1 /mnt/something выглядит клёво и вполне в духе сабжа.

anonymous ()
Ответ на: Re: BashDiff от swar0g

Re: BashDiff

+1. Кирпичик к кирпичику - и будет unix-way. А комбайн к комбайну - будет чёрти-что :(

Впрочем, если это сделали - значит, кому-то оно нужно позарез... Не нам судить о целесообразности. Мы можем только языками тут чесать :)

Slavaz ★★★★★ ()

Re: BashDiff

Там где-нибудь по ссылкам написано, зачем нужно это поделие? Или авторы неосилили узнать о существовании в мире готовых инструментов и правильного метода их использования? Ни zsh, ни Powershell им не повторить, ни инструментально, ни идеологически.

gemelen ()
Ответ на: Re: BashDiff от Tux-oid

Re: BashDiff

> жесть. зачем онон нужно?

Убить питон и руби. :)

atrus ★★★★★ ()

Re: BashDiff

emacs ему не догнать, пусть и не пытается.

phasma ★☆ ()
Ответ на: Re: BashDiff от anonymous

Re: BashDiff

> Несколько(нифига) не укладывается в UNIX-way. IMHO бред. Давайте ещё к mount прикрутим функцию разметки диска или интегрируем возможность создания файловой системы. А что, mount --ifnofsexistscreateone=ext2 /dev/sda1 /mnt/something выглядит клёво и вполне в духе сабжа.

Такой монстр существует, называется diskutil и обитает в дарвинах. Делает разметку, монтирование, клонирование, проверку и прочее гэ.

Внутре оно, если разобраться, на самом деле вызывает внешние утилиты, но все равно — монстр.

shimon ★★★★★ ()

Re: BashDiff

О! Давно искал кому мне кофе заваривать!!! А не... кофе заваривать не умеет... не буду ставить.

anonymous ()
Ответ на: Re: BashDiff от Slavaz

Re: BashDiff

>Впрочем, если это сделали - значит, кому-то оно нужно позарез...

С учетом комментария автора по поводу новой команды binary (переводящий число в двоичное): "I wrote this, because I needed to see binary bits, and my calculator ran out of battery.", это действительно было ему нужно позарез.

mky ★★★★★ ()
Ответ на: Re: BashDiff от anonymous

Re: BashDiff

> bash и питон не нужны! ГУЙ давно есть в ksh!

Имхо, компьютеров с установленным питоном гораздо больше, чем с установленным ksh :) Не говоря уж о dtksh (разве что CDE откроют).

question4 ★★★★★ ()
Ответ на: Re: BashDiff от anonymous

Re: BashDiff

> mount --ifnofsexistscreateone=ext2 /dev/sda1 /mnt/something иф ноф сексистс?

anonymous ()

Re: BashDiff

GNU is not unix. GNU way != Unix way.

anonymous ()
Ответ на: Re: BashDiff от anonymous

Re: BashDiff

> Чем это удобнее? Необходимостью брать в руку мышку, вместо того чтобы нажать одну из трех клавиш?

1. Шелл-скрипт требует нажать клавишу, соответствующую выбору, затем Enter, правильно сделанный гуй позволяет выбрать клавишу стрелками, которые легче искать, чем буквы

2. Шелл-скрипт требует нажать клавишу, соответствующую выбору, затем Enter, правильно сделанный гуй позволяет сделать выбор одним нажатием соответствующей буквы

3. Шелл-скрипт требует нажать клавишу, соответствующую выбору, затем Enter, правильно сделанный гуй позволяет выбрать вариант по умолчанию одним нажатием энтера или пробела. Впрочем энтером и правильный шелл-скрипт умеет.

4. Шелл-скрипт, требующий оторвать руку от мыши способен ввести в кататонию ресепшенистку-мышевозилку. А потом кому-то её в чувство придётся приводить.

5. Если шелл-скрипт запускается без консоли, то для вопросов-ответов нужно открывать консоль, которая у неспециалистов создаёт впечатление корявости, а некоторых просто пугает.

Продолжать? Получится очередной "Почему огурцы лучше пива" :)

Хотя ответы на консольный скрипт легче автоматизировать.

question4 ★★★★★ ()
Ответ на: Re: BashDiff от question4

Re: BashDiff

Упоминание xdialog было выше по треду.

ManMachine ()

Re: BashDiff

А Quake встроенного в этом патче нет?

anonymous ()

Re: BashDiff

круто

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