Google ZX - сценарии оболочки с Javascript

Как писать shell-скрипты на Javascript и Node.js

Tom Машинопись и JavaScript, Инструменты и разработка, Linux и OSS

Поистине универсальный язык

С появлением Node.js Javascript (а недавно и Typescript) стал популярным языком для написания всевозможных сценариев. Благодаря базовым библиотекам, включенным в каждый экземпляр Node.js, разработчики также имеют доступ к различным вызовам операционной системы. Гибкость Javascript (хотя и требует более сложного обслуживания) в сочетании с этим мощным механизмом выполнения помогли ему занять большую площадь в текущих серверных средах. Для компьютеров UNIX это означает, что Javascript живет вместе с хорошо зарекомендовавшими себя сценариями Bash, которые изначально поддерживаются операционной системой.

А вдруг…

Но что, если бы вы могли напрямую вызывать Bash-команды внутри ваших Node.js-скриптов? Возможно, вы захотите использовать Javascript для большинства реализаций, но у вас есть требование использовать Bash здесь и там для достижения цели.

В одном из последних проектов Google, инструменте командной строки под названием «zx», такая библиотека теперь доступна. Лучше всего то, что вы можете использовать это прямо сейчас. Все, что вам нужно, это установленный экземпляр Node.js версии 14 или выше.

// Your JS-file. You can either use
// the .js-suffix or the alternative
// .mjs-suffix, which allows the global
// usage of 'await' when used with 'zx'.

// The nessary shebang, as in Bash-scripts
#!/usr/bin/env zx

// A simple demonstration on how to
// call Bash-command inside your JS.
// Here, we log the current working directory.
await $`echo $PWD`;

javascriptLanguageCheck out all coding posts

// Now to call your file, you can 
// simply use 'npx', the node package
// executor that comes with NPM.

npx zx ./demo.mjs

// For more examples, check out the 
// repo where Google provides some
// more real-world use cases.

Используя знак доллара в качестве оператора с последующими двумя обратными кавычками, включающими ваш Bash-код, вы можете выполнять фактические вызовы, как в Bash-скрипте.

А если вы установите «zx» как глобальную зависимость, вы можете вызывать свои Javascript-файлы так же, как ваши Bash-скрипты.

Больше для изучения

Эта статья предназначена только для ознакомления с пакетом. Для получения дополнительной информации ознакомьтесь с ссылками в приложении, чтобы полностью изучить API и все функции, которые поддерживает «zx».

Действия

Feedback

Предлагаемые сообщения

Дополнение