自作Shell

シェルを自作した。

github.com

以下の記事がきっかけ。

シェル入門 https://www.slideshare.net/yusukesangenya/ss-135407412

平日のアフター22を2〜3日くらい捧げたら以下の機能は実装できた。 Cコンパイラ作るよりは簡単だがこれはこれで学びが多い。

  • コマンドの実行
  • 最低限のビルトインコマンド
  • パイプ(多段OK)
  • 基本的なリダイレクト
  • PATHの解決(優先度も考慮)

実装してみてbashzshのありがたみが理解できた感じ。

カーソル操作などはもう少し頑張らないと使い勝手は悪いが,自作シェルを使って,ビルドしたりデバッグしたりもできたので我慢すれば使える。

C言語は,ほっとくとメモリーリークはあちこちで起きる。 コンパイラみたいにすぐ実行が終わるものならメモリ開放しなくてもいいといえるが, シェルは常駐するので,一応メモリ開放していかないといけないかなと思い,ある程度がんばった。 が,やっぱりめんどくさい。