LoginSignup
0
0

More than 5 years have passed since last update.

cygwinにfish-shellいれてみる[未解決]

Last updated at Posted at 2013-09-02

なんか熱そうなので手を出してみた、ってだけです。
設定なんかはとりあえず置いといて、とにかくインストールしてみます。

環境:
Windows8 64bit

参考URL:http://superuser.com/questions/328340/how-to-use-fish-shell-in-cygwin

必要なライブラリを持ってくる

どうやって持ってくるのかはお好みで。apt-cygなりsetup.exeなり。

  • libncurses-devel
  • libiconv
  • libiconv-devel
  • autoconf
  • gcc
  • util-linux

fish-shell持ってくる

stableな2.0.0ではiconvとかsys/sysctl.hとかでごちゃごちゃエラー出たので、仕方なく最新をcloneしてくることにします。
iconvは特に追跡してないですけど、sys/sysctl.hはPR上がってて、mergeもされてます。しかし、結果から鑑みるに2.0.0には含まれてないみたいです。

$ git clone https://github.com/fish-shell/fish-shell.git

あとは普通に

$ autoconf && ./configure
$ make && make install

動かしてみる

$ fish
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
agen@laptop /u/l/s/fish-shell>

おお、動いた!

んですけど...

fishもzshに負けず劣らず補完機能が凄くて(と聞いてて)、さっそくそれを体感しようと適当にいくつかコマンド入力してみました。

$ ls -[TAB]
--all                                                    (Show hidden)
--almost-all                             (Show hidden except . and ..)
...
-x                                             (List entries by lines)
-Z              (Display security context so it fits on most displays)

すばら! じゃあ次は

agen@laptop ~> ge[TAB]fish: Unknown command 'x86'
in command substitution
        called on standard input,

fish: Unknown command 'x86'
in command substitution
        called on standard input,

fish: Unknown command 'R'
in command substitution
        called on standard input,

fish: Unknown command 'R'
in command substitution
        called on standard input,

fish: Unknown command 'x86'
in command substitution
        called on standard input,

fish: Unknown command 'R'
in command substitution
        called on standard input,

fish: Unknown command 'x86'
in command substitution
        called on standard input,

fish: Unknown command 'R'
in command substitution
        called on standard input,

fish: Unknown command 'x86'
in command substitution
        called on standard input,

fish: Unknown command 'x86'
in command substitution
        called on standard input,

fish: Unknown command 'x86'
in command substitution
        called on standard input,

agen@laptop ~> ge
gem                  (File, 582B)  gemlock.bat   (Executable, 63B)
gem.bat           (Unknown, 157B)  gemri         (Executable, 91B)
gem_mirror     (Executable, 104B)  gemri.bat     (Executable, 55B)
gem_mirror.bat  (Executable, 68B)  gemwhich     (Executable, 101B)
gem_server     (Executable, 104B)  gemwhich.bat  (Executable, 65B)
gem_server.bat  (Executable, 68B)  getconf.exe  (Executable, 23kB)
gemhelp.bat     (Executable, 35B)  getfacl.exe  (Executable, 11kB)
gemlock         (Executable, 99B)  getopt.exe   (Executable, 12kB)

!?

概ね正常に動いてるっぽいんですけど、[TAB]押してコマンドの補完をかけようとすると上記のエラーが出ます。

推測ですけど、PATHに /cygdrive/c/Program Files (x86)/... みたいなのが混ざってるからかなー、とかとか。

<追記>
issueを確認すると、カッコが含まれてるのがまずい? ようです。
refs: https://github.com/fish-shell/fish-shell/issues/952

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0