fish は、macOS、Linux、およびその他のファミリー向けのスマートで使いやすいコマンドラインシェルです。fish には、シンタックスハイライト、入力中に自動提案、および設定不要でただ動くファンシーなタブ補完などの機能があります。
Fish の設計思想の詳細については、設計ドキュメントを参照してください。
クイックスタート
fish は一般的に bash や zsh など、他のシェルと同様に動作します。 いくつかの重要な違いは、https://fishshell.com/docs/current/tutorial.html で “unlike other shells” という魔法のフレーズを検索することで見つけることができます。
詳細なユーザドキュメントは、fish の中で help
を実行することで得られます。また、https://fishshell.com/docs/current/index.html
以下のボタンをクリックすることで、ブラウザ上ですぐに fish で遊ぶことができます:
Getting fish
macOS
fish は、
- using Homebrew.Debian.com にインストールしてください。
brew install fish
- using MacPorts:
sudo port install fish
- using the installer from fishshell.com
- as standalone app from fishshell.com
Packages for Linux
Debian, Fedora, openSUSE, and Red Hat EnterpriseLinux/CentOS 用は openSUSE BuildService からパッケージを入手可能です。
Ubuntu 用のパッケージは fishPPA から入手可能で、以下のコマンドを使用してインストールすることができます。
Windows
- Windows 10 では、WSL Windows Subsystem for Linux の下に、上記の「Linux 用パッケージ」に記載されている適切なディストリビューションの手順で、または以下の手順でソースから fish をインストールすることが可能です。
- Fish は、Cygwin (Shells カテゴリ) を使用してすべてのバージョンの Windows にインストールすることもできます。
ソースからの構築
お使いのプラットフォーム用のパッケージがない場合、GPG 署名入りの tarball を fishshell.com および GitHub のfish-shell から取得できます。
Running fish
インストールしたら、現在のシェルからfish
を実行して、fishを試してみてください!
依存関係
fish を実行するには、以下のものが必要です。
- curses または ncurses (ほとんどの *nix システムにプリインストールされています)
- いくつかの一般的な *nix システムユーティリティ (現在は
mktemp
) と、基本 POSIX ユーティリティ (cat
,cut
,dirname
,ls
,mkdir
,mkfifo
,rm
,sort
,tee
.X) が必要。tr
,uname
,sed
は最低限必要ですが、完全な coreutils とfind
,awk
が望ましい) - gettext library, if compiled withtranslation support
以下のオプション機能にも特定の要件が存在する場合があります。
- builtin command that have the
--help
option or print usagemessages requiresul
and eithernroff
ormandoc
fordisplay - automated completion generation from manual pages requires Python 3.3.5+
- The
fish_config
Web configuration tool requires Python 3.5+ と Web ブラウザ - システムのクリップボード統合 (デフォルトの Ctrl-V と Ctrl-X バインディング) には
xsel
,xclip
のいずれかが必要です。wl-copy
/wl-paste
またはpbcopy
/pbpaste
ユーティリティ -
yarn
とnpm
の完全な補完にはall-the-package-names
NPM モジュール
fish への切り替え
デフォルトシェルとして fish を使用する場合、以下のコマンドを使用します。
chsh -s /usr/local/bin/fish
chsh
はパスワードの入力を求め、デフォルトシェルを変更します。 (/usr/local/bin/fish
は、fish がインストールされたパスが異なる場合は、そのパスに置き換えてください。) ログアウトして、再度ログインすると、変更が有効になります。
Fish が /etc/shells
に追加されていない場合は、次のコマンドを使用して、fish をログインシェルとして許可します:
echo /usr/local/bin/fish | sudo tee -a /etc/shells
デフォルトシェルを戻すには、chsh -s /bin/bash
(/bin/bash
を必要に応じて /bin/tcsh
または /bin/zsh
に置き換える) を使用します。
ビルド
依存関係
魚をコンパイルするには、
- C++11コンパイラ (g++ 4.0.0)が必要です。8 以降、または clang 3.3 以降)
- CMake (バージョン 3.2 以降)
- ncurses のような curses の実装 (ヘッダとライブラリ)
- PCRE2 (ヘッダとライブラリ) – コピーは fish
- gettext (ヘッダとライブラリ) – オプション、翻訳サポート用
Sphinx もオプションで必要、アクロンされた git レポジトリから文書を構築するため。
さらに、テストスイートを実行するには、Python 3.5+ と pexpect パッケージが必要です。
Building from source (all platforms) – Makefile generator
/usr/local
にインストールするには、以下を実行してください:
mkdir build; cd buildcmake ..makesudo make install
インストールディレクトリは cmake
の-DCMAKE_INSTALL_PREFIX
パラメータで変更可能です。
Building from source (macOS) – Xcode
mkdir build; cd buildcmake .. -G Xcode
Xcode プロジェクトは build
サブディレクトリで利用可能になります。
Help, it didn’t build!
Fish が curses を見つけられなかったと報告した場合、cursesdevelopment パッケージをインストールして、再度ビルドしてみてください。
Debian または Ubuntu の場合:
sudo apt-get install build-essential cmake ncurses-dev libncurses5-dev libpcre2-dev gettext
RedHat、CentOS、または Amazon EC2 の場合:
sudo yum install ncurses-devel
Contributing Changes to the Code
See the Guide for Developers.
Contact Us
Questions, comments, rants and raves can be posted to the official fishmailing list at https://lists.sourceforge.net/lists/listinfo/fish-usersor join us on our gitter.imchannel. また、fish スクリプトに関する質問には onStackoverflow の魚タグを、その他の質問 (色のカスタマイズ、キーバインディングの変更など) には onSuperuser の魚タグを使用してください。 素晴らしいアイデアをお持ちですか? 課題を開いてください。