LINUX.ORG.RU

Bashton - как он мог бы выглядеть?

 , , ,


0

1

По мотивам треда об идеальном shell scripting language. Как можно было бы склеить Bash с Python, чтобы для простых вещей всё ограничивалось башем, а сложные скрипты было бы так же просто писать, как в питоне?

Deleted

Последнее исправление: Deleted (всего исправлений: 3)

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

Никак. У каждой программы тонны опций и даже если делать обёртки на python, чтоб типа был модуль bash, а в нём классы типа awk, sed, и.д. для удобного запуска — это такой костыль будет, что проще уж subprocess использовать. Для тривиальных заданий я стараюсь вообще не смешивать и писать или на bash или на python.

conformist ★★★
()

Как можно было бы склеить Bash с Python, чтобы для простых вещей всё ограничивалось башем, а сложные скрипты было бы так же просто писать, как в питоне?

Вот так: https://github.com/Jajauma/www-data/blob/2903b636d9053b4bd98e5f08429ab6753049...
Правда делать так приходится не из праздного интереса, а по причине технических ограничений (через внешнюю утилиту, например gdbus, не пробросить открытый fd).

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

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

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

ну есть уже модули типо такого https://amoffat.github.io/sh/

Технически можно сделать чтобы такие модули генерировались, а аргументы передавать средствами ЯП

Dred ★★★★★
()

Не переживай, в мире полно наркоманов, использующих ipython вместо шелла

zolden ★★★★★
()

чтобы для простых вещей всё ограничивалось башем

Это шутка такая? Баш даже для простых вещей заставляет делать лишние телодвижения, потому что синтаксис придуман марсианами.

Siado ★★★★★
()

было бы так же просто писать, как в питоне?

Наркоман чтоль?

Берёшь Bash, лепишь к нему JIT - и пистон уже нафиг не нужен.

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

А что то вроде ls('/home/user', 'a', 'l')?

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

Классно выглядит, поставил себе. ТСу спасибо за тред, без которого я так и не узгал бы про это.

f1u77y ★★★★
()

На Bash можно нормально писать. То что скриптописатели редко используют функции это проблема скриптописаталей, а не Bash-а.

peregrine ★★★★★
()
Ответ на: комментарий от anonymous
>>> echo "hello" | @(lambda a, s=None: s.read().strip() + " world\n")
hello world

держи лайк :)

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

Click to try xonsh!

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

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

Пробелы со спецсимволами заэкранировал, посанчик? )

anonymous
()

Есть же перл, что тебе еще нужно

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

ага, работает, надо просто пробел перед & ставить

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

На BASH можно даже очень хорошо писать. И закорючки современного BASH'а куда проще закорючек любого популярного сейчас языка программирования, включая Python.

Проблема BASH - отсутствие нормальных ссылок, которые бы позволили строить многомерные структуры данных и низкая производительность. Даже в плане параллелизма современный BASH весьма хорош и удобен. На личном опыте знаю, что для задач обработки больших массивов данных он вполне годен, но только если эти данные разделить на части и обрабатывать несколькими процессами. Зато BASH не насилует мозг ООП, как это делает PowerShell - за что хочется сказать огромное человеческое спасибо разработчикам BASH'а.

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