こんにちは。
GWが待ち遠しくてしょうがない武田です。

今回はfish-shellを試してみたいと思います。
なかなか高機能なシェルらしいのでこれで仕事が楽になればなあと目論んでます。

公式ページを見るといくつかの特徴があるようです。

  • Autosuggestions
  • Glorious VGA Color
  • Sane Scripting
  • Web Based configuration
  • Man Page Completions
  • Works Out Of The Box

すごいんだろうか。。。

では早速、インストールできるか試してみましょう。
今回は以下の環境を利用します

CentOS release 6.9 (Final)
fish 2.7.1

インストール

whoami
  root
cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_6/shells:fish:release:2.repo
yum install fish

Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
epel/metalink                                                                                                      | 6.2 kB     00:00
Including mirror: ftp.iij.ad.jp
Including mirror: ftp.jaist.ac.jp
 * base: ftp.iij.ad.jp
...

あっさりインストールできましたね。

fishを触る

[adjust@localhost ~]$ fish
Welcome to fish, the friendly interactive shell
adjust@localhost ~>

なんか切り替わってくれましたね.

  • まずはオートサジェストがどの程度みましょう
  • /usr/local + tab

いれてみると以下のように候補のdirと容量?までてくる

  • cd + tab

    cdでマッチするコマンド+および簡単な説明まででる。

  • wget

    historyログから勝手に引き出しているのか、以前にDLしたWordpressのプラグインのURLを勝手に付けてくれてますね。

  • でたらめなコマンド(lss)やPATH(/user)を指定

    該当の物がない場合は赤、ある場合は白で表示されるようです。

設定変更

このシェルはwebベースでの設定変更が可能とのことです。
早速やってみましょう

root@localhost ~# whoami
root
root@localhost ~# fish_config

   REFRESH(0 sec): http://localhost:8000/d2030caa26dc299eef94870a883b33ac/

   Start the Fish Web config

コマンド: [矢印キー] 移動、[?] ヘルプ、[q] 終了、[←] 戻る
  矢印キー: [↑][↓]で移動 [→]でリンクを辿る [←]で一つ戻る
 [H]ヘルプ[o]設定[p]印刷[g]移動[m]メイン画面[q]終了 /=検索 [Delete]=履歴

fish_configコマンドを打ってみるとURLが表示されるのでブラウザでみてみましょう

タブに分かれていて以下7種の設定があるようです。

colors
prompt
functions
variables
history
bindings
abbreviations
  • colors せっかくなのでいくつか色設定をかえてみましょう

    Current、Lava、Seaweedなどを適当に切り替えてみましたがブラウザから操作するだけでカラー設定をかえれました。

  • prompt ターミナル左の表示が変更できるようです。(いるかな・・・)

  • functions fishの関数を定義できるようです。

    既存のものも存在しcdコマンドなどはこういった処理になってるので自分でブラウザ経由でのカスタマイズで簡単

  • variables 環境変数のようです。

  • history まんまhistoryログですね。単体で消せそう

まとめ

ほかにも協力な機能ががあるようなのですがちょっと時間が足らずここまでになっちゃいそうです。
ただ、明らかに高機能で使いやすそうですね。
bashに飽きちゃった方なんかはちょっと触ってみてはいかがでしょう。
以下の参考URLもご参照ください。
fish-shellを触ってみよう

参考