Google ZX - shell szkriptek Javascript-tel

Hogyan lehet shell-szkripteket írni a Javascript és a Node.js használatával

Valóban egyetemes nyelv

A Node.js térhódításával a Javascript (és a közelmúltban a Typescript) is kiemelkedő nyelvvé vált mindenféle különféle szkriptek írására. A minden Node.js-példányhoz tartozó alapkönyvtáraknak köszönhetően a fejlesztők hozzáférhetnek az operációs rendszer különböző hívásaihoz is. A Javascript rugalmassága (bár a nehezebb karbantartás költségeivel együtt) az erőteljes futásidejű motorral együtt nagy lábnyomot nyert a jelenlegi kiszolgálói környezetben. A UNIX gépeknél ez azt jelenti, hogy a Javascript a jól bevált Bash-szkriptek mellett él, amelyeket az operációs rendszer natív módon támogat.

De mi van, ha…

De mi lenne, ha közvetlenül hívhatná a Bash-parancsokat a Node.js-szkriptjeiben? Érdemes a Javascriptet használni a legtöbb megvalósításhoz, de meg kell követelnie a Bash használatát itt-ott egy cél eléréséhez.

A Google egyik legújabb projektjével, az egyszerűen „zx” nevű CLI-eszközzel már elérhető egy ilyen könyvtár. A legjobb az egészben: azonnal felhasználhatja. Csak egy telepített Node.js példányra van szüksége, amely megegyezik a 14. verzióval vagy magasabb.

// 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`;
// 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.

Ha a dollárjelet operátorként használja, majd két olyan háttérjel veszi át, amelyek tartalmazzák az Ön Bash-kódját, akkor tényleges hívásokat indíthat, mint egy Bash-szkriptben.

Ha pedig a "zx" -t globális függőségként telepíti, akkor a Javascript-fájlokat ugyanúgy hívhatja, mint a Bash-szkriptjeit.

Több felfedezésre váró

Ez a cikk csak a csomag bevezetését célozza. További információért tekintse meg a függelékben található linkeket, hogy teljes körűen felfedezze az API-t és a „zx” által támogatott összes funkciót.