一般的にシェルスクリプトでは、外部のコマンドラインツールを積極的に呼び出し、その結果を組み合わせて処理を実行していきます。
これはスクリプト作成の手間を減らすことができる一般的な方法ですが、そのかわり外部コマンドへの依存が増え、コマンド呼び出しのためのオーバーヘッドにより処理速度が若干遅くなるという問題もあるかもしれません。
本日紹介する「pure bash bible」はそのような外部コマンドの呼び出しを避け、できるだけbash組み込みの機能だけでスクリプトを作成するためのノウハウ集です。
開発者Dylan Arapsに作成されたドキュメントで、neofetchやpxltrm作成を通じて得た知識をまとめているとのことです。
文字列や変数、配列など実践的なテクニック
同ドキュメントでは文字列、変数、配列、ループ、ファイル…などのカテゴリごとに、さまざまな場面で使うことの多い実践的なbashオンリーのテクニックが多数まとめられています。
例えば文字列の前後から空白を削除する場合、通常sedやawk、perlを使うことも多い方法の代替として、以下のようなbash関数が掲載されています。それぞれのサンプルには実際の使用例も併記されているので、実行例もイメージしやすいと思います。
また変数カテゴリの中では、変数の割り当て方法や、使用方法などbashスクリプトの基本的な部分に関する解説も掲載されています。
このようなコピペで使える便利な関数が多数掲載されています。
まとめ
一般的にUNIXの標準のシェルは「/bin/sh」であるとされ、互換性を最大限に保ちたい場合bashに依存しないシェルスクリプトを作成するほうが良い場合もあるかもしれません。しかしモダンなUNIX互換環境(Linuxなど)でbashが存在しないことは考えづらく、その場合スクリプトの先頭行に記述するShebangに注意し、このドキュメントに掲載されたさまざまなテクニックを活用したスクリプトを作成することができそうです。