• It’s FOSS is a blog that focuses on Open Source in general and Linux in particular

It's F.O.S.S.に1月7日(米国時間)に掲載された記事「fish Shell Becomes More Awesome With 3.0 Release - It's FOSS」が、LinuxやmacOS、FreeBSDなどで利用できるインタラクティブシェル「fish」を紹介した。fishはインタラクティブシェルとしては後発で、従来のインタラクティブシェルよりも扱いやすく、ユーザーフレンドリーとされている。

紹介されているfishのインストール方法は次のとおり。

OS インストール方法
macOS (Homebrew) brew install fish
macOS (Macports) sudo port install fish
Ubuntu sudo apt-add-repository ppa:fish-shell/release-3; sudo apt update; sudo apt install fish
FreeBSD pkg install fish
Arch pacman -S fish
Solus eopkg install fish

fishの主な特徴としては、以下が紹介されている。

  • タイピングに合わせた自動サジェスト機能
  • エラーチェックを含むシンタックスハイライト機能
  • 検索可能なコマンド履歴機能
  • 256色ターミナルカラー対応
  • 高度なタブ補完機能
  • Webベース設定機能
  • Webブラウザからアクセス可能なドキュメントにhelpコマンドでアクセス可能
  • ユーザーにとってわかりやすいエラーメッセージ
  • ユニバーサル編集機能
  • Xクリップボードに対応
  • マニュアルページ補完機能
  • スクリプト機能
  • 設定不要でさまざまな機能がデフォルトで動作
  • 設定ファイル(~/.config/fish/config.fish)

fishは2018年12月末に最新版となる「fish 3.0」が公開されており、記事では、以下がfish 3.0の主な新機能として挙げられている。

  • POSIX互換シェルとの互換性向上のために&&、||、!をサポート
  • 変数をコマンドとして利用可能なように変更
  • コマンド履歴に影響を与えないプライベートモードの導入(fish --private)
  • 新しいwait組み込みコマンドでバックグラウンドプロセスの待機に対応
  • ホスト名を$hostname変数にデフォルトで用意
  • 略式形のタブ補完に対応
  • クラッシュしたプロセスを常に通知するように変更(コマンド置換も含む)
  • neovimでトゥルーカラーにデフォルトで対応
  • xclipに対応
  • 新しく52個のコマンド補完設定を追加
  • スクリプト実行中にCtrl-Cを押した場合に確実にfishを終了するように変更

fishはBashほど多くのシーンで使われていないが、ワーキングディレクトリなどのコンテキストを加味した補完機能や少ないショートカットキーでさまざまな操作が完了するなど、扱いやすいモダンな機能を備えており、注目度が高まっている。