最近のママ活ならぬシェル活について

Wed Jun 8 21:09:34 JST 2022 (modified: Sat Jun 11 22:24:50 JST 2022)
views: 2944, keywords:日記, Rusty Bash この記事は最終更新日が1年以上前のものです。

 最近、妙に忙しくて全然ブログを更新してないんですが、忙しいながらも研究以外の活動もしているので、メモしておきます。

シェルを書いている

 「あ?お前の書いているのはシェルスクリプトだろ?」と物議を醸す「シェルを書いている」発言ですが、本当にシェル(bash)を書いてます。BSDライセンスにして、GPLじゃないbashを目指してます。

こういうのって、開発日誌とか言ってこまめにブログとかで説明を書いてチンタラ作るのがいいんですが、短気なので、一気に実装をすすめてます。ただ、bashはやっぱりややこしいのであと数ヶ月はかかりそうです。

 何がややこしいかというと引数です。引数というと、たとえば普通は"hoge"とか'fuge'$(ls)${PATH}というようなものを思い浮かべるわけですが、シェルのクオートって、途中から始まってもいいので、ちゃんとシェルを実装しようとすると、echo {~,~ueda}/"aho"'unko'$(echo ${PATH})"${HOME}"のような凶悪な引数も捌かなければなりません。

 で、がんばってbashを真似した結果がこれです・・・。たまたまうまくいっただけかもしれませんが。

以前にもC++でオレオレシェルを作ったことがあるんですが、 そのときはパイプラインの実装ばっかりこだわっていたので、引数のバリエーションの凶悪さには気づいてませんでした 。こういうのって、結局自分で実装しないと分かんないですよね・・・。aliasについても、無いとlsの出力に色がつけられないので、パイプより優先度が高いです。これも自分で使ってみないと分からんことでした。

 bashの引数については、今度またシェル芸勉強会のLTででも話をしたいと思います。あと、一緒に作ってくれる人募集中です。今後とも、「シェル評論家」ではなく「シェル実践者」であるよう、精進するのみです。

次のシェル芸勉強会

 7/2に古巣のUSP研究所で行います。久しぶりのオンサイトで恐る恐るですが、よろしくお願いいたしますー。

「シェル芸勉強会ってなに?」という方は、この動画をご覧ください。(これ見ても分からないという説もある。)

現場からは以上です。

ノート   このエントリーをはてなブックマークに追加 
 

prev:rosbridgeに生のJSONを送りつける next:bashの代入とリダイレクトの変態挙動

やり散らかし一覧

記事いろいろ