楽しければそれでいい!メニューコンテンツへ移動ホーム歌♪ミュージカル詰将棋みたまんまMECCfishfish2件の返信なんのこっちゃとお思いでしょうが、「fish」というシェルのお話。exit「fish」というシェルは対話を重視した設計で、端末を使っていて気持ちが明るくなります。「zsh」も機能豊富ですが何となく男性的なのに対し、fishは女性的とでも言いましょうか。|みたいな感じで、長くなったらさりげな〜く短くしておいてくれる優しさ。今時TABキー補完は当たり前、「fish」はさらにその先を行きます。まで入力するだけで、次の入力を予測して淡い色合いで表示してくれます。このままで良ければカーソル右を入力するだけです。繰り返し編集している時にはとっても楽です。存在しないコマンドは赤色で表示され、存在するコマンドは緑色で表示されます。入力中にリアルタイムで。何かする前に間違いがわかります。そんな「fish」の設定ファイルは「~/.comfig/fish/config.fish」で、シェルの起動時には必ず読み込まれますので、ログインシェルかどうかの判断をして処理を分離します。〜〜〜ここにログインシェル以外の時の設定を書く〜〜〜end〜〜〜ここに共通の設定を書く〜〜〜ブロック分けするとこんな感じです。「fish」の文法は「bash」系でもなく「csh」系でもなく、どちらかと言えば「csh」系かな。実はこれが一番の難関。endend何をやってるかと言うと、このconfig.fishに制御がくる前に、大方のシェルと同じく勝手にPATHを決めてくるので、それを生かしつつも、こちらの都合に合わせた設定に書き換えています。元の処理そのものを書き換える方法は、バージョンアップの時とかに面倒なので個人的にはお勧めしません。〜のところで、現時点でのPATHの内容をコピーしています。次のブロックは、MAC標準のpath_helperを使って、本来のPATHを生成していますが、「fish」のリストは空白区切りなので「-c」オプションをつけています。bashやcshでいうところの「`・・・`」と同じです。最後のブロックは、元のPATHに入っていて今入っていないPATHを追加しています。-d」でディレクトリの存在をチェックしています。-gx」で宣言します。$PATHこの例では、環境変数PATHに「~/bin」を前置きしています。エイリアスを設定する場合は、「fish」はalias宣言ではなくfunctionで設定します。$FD_LAST_PATH_FILE)end見た目、CのようなCでないような、でもわかりやすい文法だと思います。困った時、helpと打ち込めばHELP専用のブラウザ画面まで表示されます。WordPress%d人のブロガーが「いいね」をつけました。