Rumah >hujung hadapan web >tutorial js >Artikel ini membincangkan cara menggunakan perpustakaan zx untuk menulis skrip Shell dalam Nodejs
Bagaimana untuk menulis skrip Shell dalam Node? Artikel berikut akan memperkenalkan kepada anda cara menggunakan perpustakaan zx untuk menulis skrip Shell dalam Node saya harap ia akan membantu anda!
Skrip Shell
Buat skrip shell, iaitu skrip yang dilaksanakan oleh shell, seperti Bash atau zsh, ialah kaedah biasa yang digunakan untuk mengautomasikan tugasan berulang, terutamanya untuk kakitangan operasi dan penyelenggaraan. Untuk jurutera bahagian hadapan, menggunakan Node.js untuk menulis skrip shell ialah pilihan yang baik kerana ia menyediakan banyak modul teras dan boleh mengimport perpustakaan skrip bahagian hadapan yang lain, mengurangkan kos pembelajaran.
Jika anda cuba menulis skrip shell yang dijalankan di bawah Node.js tanpa bantuan zx.js
, anda mungkin mendapati ia tidak selancar yang anda harapkan. Pengendalian khas perlu ditulis untuk subproses, berhati-hati untuk melarikan diri dari argumen baris arahan dan kemudian gunakan stdout stdout
dan stderr stderr
, ia tidak begitu intuitif dan menjadi sangat sukar untuk menulis menggunakan skrip shell.
Bahasa skrip shell Bash ialah pilihan terbaik untuk menulis skrip shell
tanpa menulis kod untuk mengendalikan subproses dan ia mempunyai ciri bahasa terbina dalam untuk mengendalikan stdout
dan stderr
. Tetapi menulis skrip shell
dalam Bash juga tidak semudah itu, dan sintaksnya boleh menjadi agak mengelirukan, menjadikannya kurang mudah untuk melaksanakan logik atau mengendalikan perkara seperti menggesa input pengguna.
Pustaka zx.js
Google membantu menulis skrip dengan cekap dan gembira menggunakan Node.jsshell
.
Tapak web rasmi: https://github.com/google/zx#-zx
Pemasangan
Untuk hadapan -end Bagi jurutera, adalah perkara biasa untuk memasang kebergantungan Jalankan skrip berikut:
npm install zx
Gunakan
Google zx.js
menyediakan pakej Penciptaan proses dan fungsi kanak-kanak untuk mengendalikan stdout
dan stderr
daripada proses ini. Fungsi utama yang akan digunakan di bawah ialah fungsi $
, menggunakan zx.js
menentukan bahawa skrip ditulis ke dalam fail dengan sambungan .mjs
supaya await
boleh digunakan di peringkat atas. Jika anda terbiasa dengan sambungan .js
, bungkus skrip anda dengan sesuatu seperti void async function () {...}()
.
Mula-mula kita gunakan sambungan .mjs
Setiap fail .mjs
akan bermula dengan kod berikut:
#! /usr/bin/env node
Mari laksanakan skrip shell
ls
fungsi, buat fail ls.mjs
, kod lengkap adalah seperti berikut:
#! /usr/bin/env node import { $ } from "zx"; $.verbose = false; const output = (await $`ls`).stdout.trim(); console.log(output);
adalah sama dengan fail skrip shell
, ia perlu ditukar kepada fail boleh laku:
chmod +x ./ls.mjs
di bawah Mari laksanakan skrip shell
ini yang ditulis dalam Node.js, laksanakan:
./ls.mjs
Google zx.js
juga menyediakan fungsi praktikal lain untuk memudahkan penulisan skrip shell , untuk contoh:
cd()
: Membenarkan menukar direktori kerja semasa question()
: Pembalut untuk modul baris baca Node.js, yang boleh terus menggesa pengguna untuk input.
#! /usr/bin/env node import { $, cd } from "zx"; $.verbose = false; // 默认为true,以详细模式运行 const output = (await $`ls`).stdout.trim(); console.log(output); const dirName = "zx-mkdir-tmp"; await $`mkdir ${dirName}`; // 创建目录 cd(`./${dirName}`); const pwdOutput = (await $`pwd`).stdout.trim(); console.log(pwdOutput); // zx-mkdir-tmp
Selain daripada fungsi berguna yang disediakan oleh zx.js
, ia juga menyediakan beberapa perpustakaan skrip popular, seperti:
argv
. fs
, bersama-sama dengan banyak cara lain untuk memudahkan kerja dengan sistem fail. Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs! !
Atas ialah kandungan terperinci Artikel ini membincangkan cara menggunakan perpustakaan zx untuk menulis skrip Shell dalam Nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!