Software Design9月号自作シェルの世界

Sat Aug 19 21:42:57 JST 2023 (modified: Sat Aug 19 21:47:35 JST 2023)
views: 1525, keywords:自作シェル, bash, 連載, Software Design

 Software Design 9月号が発売されました。自分の連載「魅惑の自作シェルの世界」が載ってます。・・・と、いつもブログがこの程度の情報量で終わってるような気がするので、今回は真面目に記事の説明をします。

どんな連載か

 Rustを使ってBashのクローンを作るという内容です。Rustをちょっと触ってみたい人にはシェルが題材になり、自作シェルに興味のある人は、シェルの実装のしかた(文法やOSとのやりとり)をチェックできるということで、ぜひ読んでみたい連載です!(主観)

 自作シェルのコードについては連載が進むにしたがって増えて複雑になっていくわけですが、途中からでも参入できるように、全段階でのコードがGitHubのブランチに保存されています。初めて読む人でも、その回の開始の時点でのブランチを取り出して、そこにコードを足して挙動を試して遊べる工夫をしてあります。とりあえず写経でオッケーで、しかもシェルに機能を付け足すという高度なことができるので、満足度は高いんじゃないかと思ってます。

 使っている言語のRustについては、自身はベタな書き方しかしませんし、できません。かえって初めての人にはいいかなと思ってます(達人がよい先生とは限らないという話もありますし)。Rustの話でよく語られるまだライフタイム付きの変数も、ジェネリックスも今のところ不使用です。(トレイトはやむなく使っていますが。)

今月の内容

 今月はざっとこんな感じで盛りだくさんです。

  • コードにコメントを入れられるようにする
  • コードの途中でバックスラッシュで改行を入れられるようにする
  • 改行を入れたパイプラインを解釈して実行できるようにする
  • パイプライン中で複合コマンドを使えるようにする
  • ビルトインコマンドをパイプでつなげられるようにフォークする

最初の2つは今月最初のブランチに反映済みで、解説だけですが、あとの3つは解説しながら実装していきます。これを7ページのなかでやってます。濃密に書いていますので、ぜひ読んでみてください!

↓チラ見せして終わります。

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

prev:ビルトインコマンドをリダイレクトしてもフォークしない(そんなこと知らなかったよ・・・) next:日記(2023年8月27日)

やり散らかし一覧

記事いろいろ