LINUX.ORG.RU

Rush — shell на ruby

 , ,


2

3

Привет, ЛОР, я решил немножко побыть некромантом во имя поддержки хорошей идеи.

https://github.com/s-mage/rush — я форкнул проект и почти воскресил его. Работает почти все, что задумано создателем проекта. Новые фичи будут добавляться, когда я решу, что мне их не хватает. Ну или кто-нибудь еще станет пользоваться им и напишет мне в гитхаб issue.

Rush — это объектно-ориентированный shell на ruby. Дело в том, что в баше каждый раз, когда нужно сделать что-то сложнее cd или vim, приходится лезть в гугл и искать, как же делается нужная хрень. Да и вообще, как язык баш — вещь довольно жуткая. Зато в ruby я довольно неплох (точно лучше, чем в баше).

Мотивирующая к использованию презентация: http://www.slideshare.net/guestdd9d06/rush-presentation

★★

Дело в том, что в баше каждый раз, когда нужно сделать что-то сложнее cd или vim, приходится лезть в гугл и искать, как же делается нужная хрень. Да и вообще, как язык баш — вещь довольно жуткая.

Поэтому везде есть питон. Какой смысл в скриптах, если надо ставить десятки мегабайт какого-то ненужно?

Deleted ()

Спасибо, мне надо было.

trofk ★★★ ()

Мотивирующая к использованию презентация: http://www.slideshare.net/guestdd9d06/rush-presentation

Посмотрел презентацию, не смотивировался.

Руби язык хороший, сам на нём пишу скрипты постоянно. Но в роли shell, КМК, не годится совсем.

anonymous ()

Дело в том, что в Ruby каждый раз, когда нужно сделать что-то сложнее cd или vim, приходится лезть в гугл и искать, как же делается нужная хрень

fixed.

А bash простой и интуитивно понятный, если его хорошо изучить. И в гугл лезть не нужно, вполне достаточно манов и info

А из скриптовых языков Tcl лучше, тем более что он много больше похож на шелл чем ruby.

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

Xenius ★★★★★ ()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от Xenius

А bash простой и интуитивно понятный, если его хорошо изучить.

Такое ляпнуть может только человек, никогда не писавший скрипт на bash хотя бы строк на 100. На вот, покури:
http://www.dwheeler.com/essays/filenames-in-shell.html

в гугл лезть

man ri

anonymous ()
Ответ на: комментарий от Xenius

1. Я не хочу хорошо изучать bash.

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

3. Tcl никогда не видел, не могу ничего сказать.

4. Ruby — отличный язык, на сей момент именно его могу назвать лучшим из скриптовых.

S-Mage ★★ ()
Ответ на: комментарий от S-Mage

4. Ruby — отличный язык, на сей момент именно его могу назвать лучшим из скриптовых.

Существующая имплементация крайне медленная. Да и чем он лучший-то?

Tcl никогда не видел, не могу ничего сказать.

Посмотри. Язык очень простой и легкоизучаемый. И интерпретатор достаточно быстрый.

Я не хочу хорошо изучать bash.

Ну ещё есть fish например. Говорят там «ада» поменьше.

Я как-то писал башескрипты в рамках самообразования, по книжке с опеннета — так там же ад какой-то практически со всем, что можно.

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

Если именно для скриптов, то зачем тебе ruby shell, если и так есть интерпретатор руби? Если для интерактивной работы — то выглядит как-то неудобно, как и перл, питон и прочие языки для написания программ.

Xenius ★★★★★ ()
Ответ на: комментарий от anonymous

никогда не писавший скрипт на bash хотя бы строк на 100.

См. выше. Писать скрипты — это одно, интерактивная работа — это другое.

Я очень сомневаюсь что на существующих скриптовых языках можно получить такое же удобство именно интерактивной работы (а не написания скриптов) как в баше. Хотя говорят, zsh ещё круче, но мне не захотелось на него переходить.

Просвещайся.

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

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

Xenius ★★★★★ ()
Ответ на: комментарий от Xenius

Я очень сомневаюсь что на существующих скриптовых языках можно получить такое же удобство именно интерактивной работы (а не написания скриптов) как в баше.

Я уже выше сказал, что ruby не подходит в качестве шелла.

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

«bash простой и интуитивно понятный», «если хорошо изучить». == /0

anonymous ()

Не пользуюсь, но вообще похвально.

Deleted ()
Ответ на: комментарий от Xenius

А bash простой и интуитивно понятный

LOL WUT???

А из скриптовых языков Tcl лучше

Ну и ковыряйся со своим тиклем да башем. А когда надоест самобичевание - возвращайся.

Aswed ★★★★★ ()

Зато в ruby я довольно неплох (точно лучше, чем в баше).

это твоя проблема. А я вот ruby не знаю. Зачем мне его изучать? Что это мне даст?

emulek ()
Ответ на: комментарий от S-Mage

Думаю, у тех, кто знает руби, оно уже стоит.

в Slackware Linux ruby из коробки. А а в чём профит?

emulek ()
Ответ на: комментарий от S-Mage

1. Я не хочу хорошо изучать bash.

ты дурак.

4. Ruby — отличный язык, на сей момент именно его могу назвать лучшим из скриптовых.

нет. Ты дурак².

emulek ()
Ответ на: комментарий от emulek

Если ты не знаешь ruby, вряд ли ты захочешь пользоваться шеллом, использующим этот язык.

Что тебе это даст — ты больше не захочешь пользоваться всякими отбросами от языков программирования, например. Я не умею агитировать, пусть какой-нибудь другой рубист придет и пояснит тебе.

cast Mystra_x64 Debasher

S-Mage ★★ ()
Ответ на: комментарий от Xenius

А bash простой и интуитивно понятный

ШТА?

если его хорошо изучить.

<sarcasm>А, ну ок.</sarcasm>

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от emulek

это твоя проблема. А я вот ruby не знаю. Зачем мне его изучать? Что это мне даст?

но ведь

каждый уважающий себя сишник должен знать не меньше 50 языков чтобы троллить тех кто на них пишет

Значит ты себя не уважаешь?

Debasher ★★★★★ ()
Ответ на: комментарий от S-Mage

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

это да. Ты мой любимый ЯП(не важно какой) назвал «отбросом», думаешь я после этого чего-то захочу?

Агитация это вот так:

— Смотри, ты в своём говноЯП столько мучился, а вот в моём ruby это делается в одну строчку, и работает в Over9000 раз быстрее!

(для этого, правда, тебе придётся выучить мой говноЯП не хуже меня. А то получится клоунада как java vs C++/C, в которой ява-борщееды даже не понимают разницы между C и C++)

emulek ()
Ответ на: комментарий от Xenius

А rc простой и интуитивно понятный

Починил. А bash — переусложнённое ненужно.

quantum-troll ★★★★★ ()
Ответ на: комментарий от emulek

кто тебе сказал, что я не знаю 50 ЯП?

Т.е. ты знаешь 50 яп, но тебе нужна причина чтобы изучить ещё один?

И это, интересно, дай пожалуйста список.

Debasher ★★★★★ ()
Последнее исправление: Debasher (всего исправлений: 1)
Ответ на: комментарий от Debasher

Т.е. ты знаешь 50 яп, но тебе нужна причина чтобы изучить ещё один?

может и не точно 50. Но типа того, да.

И это, интересно, дай пожалуйста список.

а потом ты его ещё проверять будешь, да? Задачки задавать, а я тебе их решать должен? А деньги ты сначала перечислишь, или тоже потом?

emulek ()
Ответ на: комментарий от emulek

а потом ты его ещё проверять будешь, да? З

не исключено

Задачки задавать, а я тебе их решать должен?

ну что ты, конечно не должен.

А деньги ты сначала перечислишь, или тоже потом?

так я же не сложные задачки дам :}

Debasher ★★★★★ ()
Ответ на: комментарий от S-Mage

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

Не надо ничего идиотам объяснять. Идиоты должны страдать, и мироздание заботится о том, чтобы они страдали.

Если у человека «хватает ума» считать bash языком программирования, а не набором костылей... Ну значит так тому и быть.

anonymous ()
Ответ на: комментарий от emulek

Ты мой любимый ЯП(не важно какой) назвал «отбросом», думаешь я после этого чего-то захочу?

Дак всё правильно: инженеры оценивают качество инструмента и пользуются наиболее подходящим, а идиоты типа тебя фапают на «любимый ЯП».

думаешь я после этого чего-то захочу?

Да всем плевать чего ты хочешь, ты ж не одиннадцатиклассница в короткой юбке.

anonymous ()
Ответ на: комментарий от Debasher

так я же не сложные задачки дам

твои условия скучны. Задачек(даже с ответами) любой дурак может нагуглить.

Давай по другому: ты задаёшь простую задачку, и решаешь её на своём руби. А потом я на чём-то. А ЛОР сравнивает.

emulek ()
Ответ на: комментарий от Debasher

Почему бы тебе не изучить руби чтобы потроллить нас?

а я посмотрел на этот ваш руби, и не увидел в нём ничего интересного. ЯП как ЯП. Не нужен.

emulek ()
Ответ на: комментарий от emulek

Давай по другому: ты задаёшь простую задачку, и решаешь её на своём руби. А потом я на чём-то. А ЛОР сравнивает.

Не, так не пойдёт - во первых я то не собираюсь тут ничего никому доказывать, во вторых меня не интересует твоё знание этого «на чём-то»

Debasher ★★★★★ ()
Ответ на: комментарий от anonymous

Дак всё правильно: инженеры оценивают качество инструмента и пользуются наиболее подходящим, а идиоты типа тебя фапают на «любимый ЯП».

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

emulek ()
Ответ на: комментарий от emulek

Вот только IRL страдаешь как раз ты, из-за незнания того же bash'а.

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

anonymous ()
Ответ на: комментарий от Debasher

Не, так не пойдёт - во первых я то не собираюсь тут ничего никому доказывать, во вторых меня не интересует твоё знание этого «на чём-то»

тогда зачем тебе список моего «чего-то»? Для меня ЯП это всего-лишь инструмент. И не более. Потому-то и знаю их полсотни. В каждом случае нужен свой. Bash тоже нужен. В своей нише.

emulek ()
Ответ на: комментарий от emulek

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

...сказал один из троллей, заявившихся в тред о Ruby shell.

anonymous ()
Ответ на: комментарий от anonymous

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

проблема в том, что в наших морях усттриц не водится, а в наших интернетах на серверах нет ruby. А вот bash обычно есть. Увы. Ищи себе другой глобус.

emulek ()
Ответ на: комментарий от anonymous

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

...сказал один из троллей, заявившихся в тред о Ruby shell.

т.е. аргументов не будет, да? Ну я пошёл.

emulek ()
Ответ на: комментарий от emulek

а в наших интернетах на серверах нет ruby

facepalm.mkv [4.8 GB]

anonymous ()
Ответ на: комментарий от emulek

Ну я пошёл.

Наконец-то до тебя дошло, что ты тут лишний. Иди.

anonymous ()

Игрушка для localhost'a

Если тебе нравится, ты сам его реанимировал — молодец! Но в массы не пойдет, так уж сложилось.

sdio ★★★★★ ()
Ответ на: комментарий от Debasher

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

emulek ()

bash известен one-linerами, как у Ruby с этим? Ведь именно это отличает shell. А скрипты писать на руби можно уже вчера

vertexua ★★★★☆ ()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от S-Mage

Какие задачи ты ставишь перед шеллом?

1. команды набирать (работа с файлами, с DVCS, с другими серверами через ssh туннель, и т.п.)

2. писать небольшие костыли до 1000 строк, которые выполняются(обычно) автоматически(бекапы например)

emulek ()
Ответ на: комментарий от emulek
# 1.
ls :lah
home['work'].vim
# С ssh что-то есть в презентации, я еще не понял, как это работает.

Писать программы на языке программирования — ну здесь тяжело не справиться. На работе админы юзают http://sensuapp.org/ — просто пример руби на серверах в реальной жизни.

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