Pull to refresh

Comments 14

UFO just landed and posted this here
В прикладном, системном. Provisioning в Vagrant, например, или инсталлятор virtualbox guest additions, хотя могу ошибиться и там будет sh.
UFO just landed and posted this here
Безусловно Bash преимущественно используется как скриптовый интерпретатор. Естественно Bash уступает C/Rust, поэтому и не применяется. Однако системные приложения вполне себе на нём пишут. Начиная от каких-то систем автоматизации и заканчивая всякой специфичной экзотикой.
КАк много тёплых воспоминаний от картинки :)
Проблема подобных статей в том, что они рассказывают как можно удалить гланды ректально сделать какие-то операции нестандартным способом, но никогда не описывают в каких случаях это имеет смысл делать.
Мне вот вообще не очевидно зачем дергать баш из ноды а уж для чтения и создания файла, как это показано в статье и подавно.
Были бы примеры, ценность бы статьи возросла на пару порядков.

Иногда по быстрому надо накидать скриптик, который плотно работает с системным окружением. Например, работа с лог файлами, созданием бэкапов, автосоздание каких-нибудь директорий и т.д.


И тут встает вариант либо писать на bash, а на нем код довольно быстро превращается в лапшу. Либо писать логику на другом языке, но в Nodejs нельзя просто так вызвать, например tar надо использовать child_proccess, ну или реализовывать логику unix утилиты в коде. Это немного утомляет.


В данном случае мы получили тесную интеграцию полноценного языка программирования и unix окружения. И это удобно.

  1. ZX Spectrum здесь каким местом? Кликбейт.

  2. На Windows работает? Если нет - не нужно.

  1. Спектрум ни причем совершенно, а картинка - как ассоциация по названию тулзы.

  2. На windows работает, но с оговорками, работа над улучшением поддержки виндовой инфраструктуры идет, но очень медленно, ввиду того, что коммунити в целом очень небольшое.

Очень не хватает примеров, которые бы наглядно показали, зачем это собственно нужно, насколько удобно и в чем преимущества перед накидываемой за 10 минут оберткой над child_process, с которой можно прекрасно делать такое
const reqRes = await request('example.com');
const cmdRes = await runBash(`sort | wc`, reqRes.toString())


А если применить прокси, то можно вообще красиво сделать:
const cmdRes = await bash.sort(reqRes.toString())
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.