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 されていたり便利。