1. ホーム
  2. コース一覧
  3. ターミナルカスタマイズコース
  4. fishを使ってみよう

ターミナルカスタマイズコース5/8

fishを使ってみよう

こちらでは、shellの一種であるfishの紹介をします。

また、デフォルトシェルの変更、fishシェル使用時の環境変数のセットの仕方についても解説していきます。

代表的なshellの種類

shellには多くの種類があります。

shellの種類
bash
zsh
sh
fish

fishの特徴

fishの特徴としては、 要約すると

  • ユーザーフレンドリーな操作が可能
  • POSIX非互換

ユーザーフレンドリーの定義は難しいですが、パソコンを使ている人が使いやすい and 直観的に使える仕組みになっているという解釈でいいかと思います。

POSIX非互換とは?

簡単に説明すると、通常bashで動作するシェルスクリプトは、 shでも動作します。

しかし、POSIX非互換なfishでは、それがうまく動かないということです。

つまり、 fishを利用しているとインターネットから拾ってきたシェルスクリプトが動かないことが多々あるということです。

しかし、その分操作性に優れているので、fishも人気なシェルの一つです。

インストールと利用方法

今回は、 bashから fishにシェルを変更し、作成した fishのファイルに環境変数を書いてみましょう。

fishはデフォルトで入っていないのでまずは aptコマンドでインストールしましょう。ついでに aptコマンドのアップデートも行っておきましょう

sudo apt update

次に、fishのインストールを行いましょう。

sudo apt install fish

fishのインストールができました。しかしこれだけではまだfishを使うことはできません。

chsh(change shell)コマンドを使い、 -s(オプション --shell) を入力することでデフォルトのシェルを指定して変えることができます。

chsh -s シェル名 ユーザー
---------------------------------
chsh -s $(which fish) username

上記のように入力することでデフォルトのシェルを変更することができました。パスワードは自分で設定したものを入力すれば大丈夫です。

シェルを変更することができたら、

fish

と入力することでデフォルトのシェルが変更され、使えるようになります。

> ls

$ のマークが > に変わっていたら成功です。

fishシェルは色分けや、補完機能が充実していてとても使いやすくなっています。

環境変数の設定

次にconfig.fishファイルに echoコマンドを利用して環境変数を追加します。config.fishファイルは~/.config/fish/config.fishに存在しています。

> echo "set USER user" >>  ~/.config/fish/config.fish

このようにechoコマンドを利用することで環境変数を追加することができます。

もしくは viコマンドで直接ファイルに書き込むこともできます。

次は環境変数が無事にセットされているか確認していきましょう。

> [source](https://eng-entrance.com/linux-command-source) ~/.config/fish/config.fish

と入力し

> echo $USER (setで入力した大文字の方)
user

と表示されたら無事に環境変数がセットされています。

まとめ

fishシェルデフォルトシェルの変更fishシェル使用時の環境変数のセットの仕方について解説しました。

  • fishのメリット ユーザーフレンドリーでありとても使いやすい。
  • fishのデメリット fishで書いたシェルスクリプトは他のシェルスクリプトである bashshでは動かないことが多い。

fishはとても使いやすい シェルの一種なので、ぜひ一度使ってみてください。

問題を解くためには、十分な画面サイズのPC環境をご利用下さい。