Американская поисковая система выпустила надстройку для упрощения использования Bash и Node.js. Благодаря пакету стало возможным писать скрипты для операционной системы на JavaScript.
«Bash великолепен, но когда дело доходит до написания скриптов, разработчики обычно предпочитают более удобный язык программирования. JavaScript – отличный выбор, но стандартная библиотека Node.js требует дополнительных усилий перед использованием», – сообщает Google в репозитории своего нового проекта ZX. Именно эта надстройка для дочернего процесса Node.js child_process упрощает создание bash-скриптов при помощи языка программирования.
Особенности разработки
Для того, чтобы установить ZX, необходимо в терминале выполнить команду «npm i -g zx». Менеджер пакетов Node.js загрузит необходимые файлы. Скрипты для Bash можно писать на JavaScript, используя «синтаксический сахар», который упрощает этот процесс. Доступны два варианта создания скриптов. Если используется расширение. mjs, то их можно будет использовать на верхнем уровне. Применяя .js-расширение, скрипт необходимо предварительно обернуть в конструкцию по типу «void async function () {...}()».
Для запуска скрипта, созданного при помощи надстройки ZX, есть два метода. Первый:
chmod +x ./script.mjs
./script.mjs
Второй:
zx ./script.mjs
При использовании zx через bin или шебанг, все $, cd, fetch и прочие можно использовать без импорта.
Зачем нужны скрипты
Bash – командная оболочка для Unix-подобных операционных систем, работающая в том числе и на Linux. Взаимодействовать с ней можно через терминал, вводя команды. Также возможно написание скриптов, которые позволяют объединять несколько команд в последовательность и определять логику их выполнения.
Для создания таких инструкций по умолчанию используется собственный синтаксис Bash. Он достаточно специфичен и отличается от других языков программирования, из-за чего могут возникать проблемы с запоминанием, особенно если разработчик не занимается профессионально администрированием.
Оболочка Bash поддерживает возможность написания скриптов при помощи полноценных языков программирования. Кроме JavaScript, при создании цепочки команд нередко используется Python. Однако при их применении без надстроек приходится тратить много времени на написание шаблонного кода. ZX решает именно эту проблему, делая написание кода более близким к стилю команд Bash.