消えぬ想いを消す勇気をくださいメニューコンテンツへ移動ホーム歌♪ミュージカル詰将棋みたまんまMECCCDPATH(2/2)1件のフィードバック前回「CDPATH(1/2)」では、「autojump」のデータベースからホットなディレクトリを標準出力に出すスクリプトまで作りました。今回は、それを使って、いろんなシェルで環境変数「CDPATH」を設定します。1.sh系/ksh系bashやzshも含めて、これらは同じ「~/.profile」で定義しても大丈夫です。繋ぐために「-s」オプションを使用します。CDPATHzshの場合は、環境変数「CDPATH」を設定すれば、シェル変数「cdpath」も自動的に作成してくれます。manpathとかしておくと良いかもしれません。2.csh系csh系は、zshとは違ってシェル変数「cdpath」は自前で準備します。」(空白)で繋ぎますので、「-c」オプションを使用します。-c`endif環境変数はログイン時にだけ、シェル変数はインタラクティブ時にだけ、それぞれ設定されるようにしてくださいな。簡単なのは、「~/.login」に環境変数、「~/.cshrc」にシェル変数を置く方法だと思います。3.rcrcrcは上のcshと同じく環境変数「CDPATH」は「:」でディレクトリ名を繋ぎますが、シェル変数「cdpath」は勝手に作ってくれますので、普通に「$HOME/.rcrc」に書くだけで大丈夫です。-s}4.fish最後はfishです。fishは「~/.config/fish/config.fish」で設定すれば良いのですが、ここに来る前に「CDPATH」が既に設定されています。迷いに迷ったんですが、今回は、既に入っているものを捨てることにしました。$CDPATHまず、最初のブロックで、空白で繋いだローカル変数「cd_path_list」を作成します。一度出力をローカル変数「cd_path_helper」で受けて「eval」するとかいう、ややこしいことをしている理由は、「cd_path_list」を単一文字列ではなくリスト構造にするため。(何とかならんもんですかねぇ・・・これ)2番目のブロックで、生成された「cd_path_list」の中身を、順番に、重複しないよう、存在しないディレクトリが入らないよう、シェル変数「CDPATH」に放り込んでいます。名前は大文字でも、この段階ではまだシェル変数です。最後のブロックで、ようやく環境変数「CDPATH」となります。envとすると、ディレクトリ名が「:」で繋がれた環境変数「CDPATH」が表示されますので、違いが判断できます。これで「MacVim」もまた使いやすくなってきました。WordPress%d人のブロガーが「いいね」をつけました。