以下の内容はhttps://ohigedokoro.hatenablog.jp/entry/20180623/1529681437より取得しました。


UNIXのシェルを作っています


Turing Complete FM https://turingcomplete.fm/ を聞いて刺激を受け、UNIXのシェルを作り始めました。

ゼロから作ったのではなく、学習用に公開されているlshを基に機能追加しています。

Cで書いています。macOSで作成、テストしています。
次のものはlshにあった機能です。

  • cd、help、exitコマンド。(内部コマンド)
  • 外部コマンドを実行する機能。(ただし、引数のパースが単にスペースで区切るだけ)
  • Ctrl-d で終了する機能。

これらに、次の機能追加を行いました。

  • "#" 以降をコメントとする機能。
  • 起動時引数としてファイル名がある場合にそれをスクリプトとして実行する機能。
  • (機能ではないけれど)1つだったソースファイルを複数に分割した。

まだできることはほとんどありませんが、とても勉強になります。まずは疎かったシステムコール本を読むきっかけとなりました。
今後、10年ほど前に読んだコンパイラ本を引っ張り出したり、新しい本を買って引数のパースをきちんとしたり、スクリプト向け機能を充実させてみたいです。




以上の内容はhttps://ohigedokoro.hatenablog.jp/entry/20180623/1529681437より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14