ターミナルカスタマイズコース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
で書いたシェルスクリプトは他のシェルスクリプトであるbash
やsh
では動かないことが多い。
fishはとても使いやすい シェルの一種なので、ぜひ一度使ってみてください。
問題を解くためには、十分な画面サイズのPC環境をご利用下さい。