Как стать автором
Обновить

Комментарии 8

>Командная оболочка Bash хороша, но когда дело доходит до написания скриптов, люди часто выбирают более удобный язык программирования, и JavaScript прекрасно для этого подходит.


То, что люди не хотят потрать несколько часов на изучение shell никак не говорит о том, что шелл «менее удобный». Даже привычный для админов python в каких-то чисто шелловских задачах излишен, и решения на шелле будут элегантнее и проще. Зачем тащить еще один тулчейн в сферу, в которой есть гораздо более привычные инструменты — мне не очень понятно.

А в приведенном примере как бы совсем не видны обещанные свойства "серебряной пули". Код получился громоздким, менее очевидным, чем шелловский, понятным только тем(извините), кто пишет на JS, и самое главное — задача совершенно не шелл-специфичная, и непонятно, зачем тут вообще вспоминали про шелл. Грубо говоря, пишите на JS и вам нужна тулза для вашего JS-тулчейна — прекрасно, пишите на JS, только за пределы своего JS-мира лучше не навязывайте.

В корне не согласен с "потратить несколько часов на изучение shell". Язык баш абсолютный антипод к правилу "один раз научившись ездить на велосипеде ты будешь ездить на нем всегда". Я раза 4 с нуля учил баш и стоит им не пользоваться в течении полугода-года, так код на нем вновь превращается в головоломку и приходится по новой открывать мануалы.

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

>Я раза 4 с нуля учил баш и стоит им не пользоваться в течении полугода-года, так код на нем вновь превращается в головоломку

Как-то так ¯\_(ツ)_/¯

Язык или инструменты командной строки (которые выполняют функцию скорее библиотек и фреймворков в более обычных языках, а то и реализуют собственные языки)?
А то выйдет как в том анекдоте:


— Ну что, господа студенты, кто назовет мою фамилию, тому сразу 5 в зачетку.
Тишина.
— Ладно, вопрос на 4: какой предмет сдаем?
Голос с камчатки:
— Во валит!

Я точно такие же скрипты на обычном node.js могу писать, зачем мне этот пакет?

подписываюсь, разве нельзя в шибанг прописать node сохранить в js и поставить через i -g?

Командная оболочка Bash хороша, но когда дело доходит до написания
скриптов, люди часто выбирают более удобный язык программирования

Да

и JavaScript прекрасно для этого подходит.

Да, если знаешь только JavaScript. Сделать выбор из одного варианта несложно. Если же знаешь что-то ещё - однозначно нет.

Шелл-скрипты предназначены для того, чтобы быть клеем между остальными утилитами. Именно так их и следует использовать. По мере появления более сложных задач появляются и другие языки, более сложные и с разным предназначением: от обработки текста до полноценного ООП. Это awk, perl, ruby, python.

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

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

Строго говоря JS намного удобнее Bash. Решение же из материала выше, это пример того как натягивают сову на глобус. Сначала v8 встроили в ноду, для которой потом прикрутили баш лайк поведение, вместо того, чтобы реализовать полноценный шелл без лишних сущностей.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий