zx🐚
A tool for writing better scripts
Google 発の Node.js 製シェル。
これからの時代のシェルスクリプト。
JavaScript でシェルスクリプトを書けるようになる。
bash との違い
いままでのシェルスクリプトは主に bash で書いていたが、構文やコマンドが難しい。
たとえば、
bash 構文
if と test
[
コマンド コマンド
sed
、 find
、 awk
、…… 外部コマンドは、GNU と BSD で仕様が違うこともある。
Ubuntu を想定して
find
コマンドを使ったら、Mac で動かないことも……これらの問題に対して、JavaScript を使うことでシェルスクリプトを書きやすくなる。
bash 構文 → JavaScript 構文
コマンド → JavaScript 組み込み関数
Node.js コマンドラインとの違い
zx を使わなくても、
node
コマンドを使えば Node.js のコマンドラインが起動する。しかし、zx は Node.js の
child_process
をラップして、シェルのコマンドを実行しやすくしている。$
``
記法でコマンドを実行でき、JavaScript とコマンドをうまく橋渡ししている。そのほか、コンソール出力を色付けする chalk パッケージが入っていたり、
fs
が初めから import されていたり便利。