2013-12-18
■[mruby]mruby-eshellのご紹介
この記事はmruby Advent Calendar 2013の記事です。
本当はμOSvでTwitterクライアントをテストしたかったんですが、大幅に予定の日をオーバーしてしまっていたので取り敢えずmruby-eshellのことを書きます。
μOSvを作ったときに、丁度良いpure-mrubyなシェルが見当たらなかったので書きました。
コード自体は150行程度のごくごく小さなもので、これ自体にそれほど大きな価値はないです。
が、取り敢えず、何も無いときにmrubyプログラムのランチャーになるものがあるとそれなりに便利です。
pure-mrubyで書かれていますが、mrbgemとしてビルドすればmrubyバイナリに内蔵された状態になるので、ファイルシステム経由で外部からソースコードを与えて実行する必要はありません。
よって、多少削らないとならないはずですが、本質的にはファイルシステムがなくmruby-dirをconf.gemに含めていない環境でも利用可能であるはずです。
ビルドはbuild_config.rbをこんな感じにして、makeすればOKです。
conf.gem :core => "mruby-eval" conf.gem :core => "mruby-exit" conf.gem :git => 'https://github.com/iij/mruby-io.git' conf.gem :git => 'https://github.com/iij/mruby-regexp-pcre.git' conf.gem :git => 'https://github.com/iij/mruby-dir.git' conf.gem :git => 'https://github.com/syuu1228/mruby-eshell.git'
実行は、こんな感じで。
$ ./mruby/bin/mruby -e EShell.run
とくに、mruby on マイコンなどの組み込み方向やってる方々に試して頂きたいなーと思います。
あるいは、ログインシェルをmrubyにしたい!などと考えている方にも最適です(が、機能が足りなすぎるので追加して下さい、pullreq歓迎です)。
トラックバック - http://d.hatena.ne.jp/syuu1228/20131218/1387382291
リンク元
- 1034 http://www.google.co.uk/url?sa=t&source=web&cd=1
- 265 https://www.google.co.jp/
- 151 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=12&ved=0CGIQFjAL&url=http://d.hatena.ne.jp/syuu1228/20130102/1357096671&ei=9AuyUrG8D47FkQWIsIDwBw&usg=AFQjCNFiIUI7w-Sn8kmSX1uv8gr_wFfcOA
- 93 http://qiita.com/advent-calendar/2013/mruby
- 90 http://t.co/CMUbvfVSIN
- 67 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCsQFjAA&url=http://d.hatena.ne.jp/syuu1228/20130120/1358690996&ei=5BuyUux3kZqSBcjbgfgL&usg=AFQjCNE3U2Z0bIDWivVLCHDC6gor8wKQNQ&sig2=_5-6oF8-uLDA8zPQhwZ_Qw&bvm=bv.58187178,d.
- 47 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDIQFjAB&url=http://d.hatena.ne.jp/syuu1228/20090513/1242241932&ei=AeKxUpfpDoH-kgX-yoGwCw&usg=AFQjCNH2pIqhbuMx4FHOG5VxC3_lN6Of6w&bvm=bv.58187178,d.dGI
- 35 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CFQQFjAA&url=http://d.hatena.ne.jp/syuu1228/20131218/1387383395&ei=pTeyUsCCC9Ob1gXVXw&usg=AFQjCNH3PY-jb3OSmq522VEq_p_PUGHyxg
- 27 http://t.co/akwi6TFjhA
- 25 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CDsQFjAC&url=http://d.hatena.ne.jp/syuu1228/20130508/1368002815&ei=pNiyUuKMO4H-kgX-yoGwCw&usg=AFQjCNGprWi9cEd-l8Umv71Q-x296h9dag&bvm=bv.58187178,d.dGI