Opensource.com is an online publication focused on how open source is applied to different areas including business, education, government, health, law and other disciplines of life.

3月3日(米国時間)にOpensource.comに掲載された記事「Linux shell roundup: bash, ksh, tcsh, zsh, and fish|Opensource.com」が、新しいインタラクティブシェルに取りかかりたいとして、Linuxユーザーに対してどのインタラクティブシェルがお薦めか教えてほしいとして投票を呼びかけている。

候補として掲載されているシェルは次のとおり。

  • bash
  • ksh
  • tcsh
  • zsh
  • fish

Mac OS XやLinuxディストリビューションの多くではbashをデフォルトのインタラクティブシェルとして採用している。実行速度を考慮してシェルスクリプトに対してはbashではなくdash(ash)を適用しているLinuxディストリビューションもある。

kshはBourne Shell (sh)と多機能なインタラクティブシェルの中間にあるようなシェルで、軽量高速性を維持しながらインタラクティブ性を実現している。NetBSDやOpenBSDにはデフォルトで含まれており、OpenBSDでは/bin/shの実態としてkshが採用されている。tcshはcshの機能を拡張したシェルで、FreeBSDやOpenBSDに含まれ、FreeBSDではrootやユーザのシェルとして使われることがある。

zshはbashと似た多機能インタラクティブシェル。多種多様な機能を提供しており、bashの代替として使われることがあるほか、ライセンスがMITライセンスであるためGPLの採用を懸念する組み込みなどの分野で使われることがある。

fishもzshと同じ多機能インタラクティブシェル。日本ではまだ知名度の低いfishだが、投票ではzshに次いで3位につけている。fishは提供している構文がBourne Shell (sh)系とは異なるため使い出すには多少の学習が必要。Bourne ShellとPythonの表記が混ざったような仕組みになっており、プログラミング言語としての機能がよくまとまっている。

投票を実施するとすぐに投票結果が確認できるようになっている。本稿執筆時点での投票結果は以下の通りだ。

  1. bash 66%
  2. zsh 22%
  3. fish 6%
  4. ksh 3%
  5. tcsh 2%