Upgrade to Pro — share decks privately, control downloads, hide ads and more …

bashの組み込みコマンドの自作

 bashの組み込みコマンドの自作

以下動画のテキストです
https://youtu.be/wXgkrMsxYqk

842515eaf8fbb2dfcc75197e7797dc15?s=128

Satoru Takeuchi
PRO

June 24, 2022
Tweet

More Decks by Satoru Takeuchi

Other Decks in Technology

Transcript

  1. bashの組み込みコマンドを自作 Jun. 24th, 2022 Satoru Takeuchi twitter: satoru_takeuchi

  2. おさらい: bashの組み込みコマンドとは • 📝 過去動画: bashの組み込みコマンドより抜粋 ◦ https://youtu.be/6oVvcnwRUa0 • bash上で”help”を実行すると出てくるコマンドたち

    • 新規プロセスを生成せずにbash自身が処理
  3. bashの組み込みコマンドは自作できる • 必要なパッケージ(Ubuntu 20.04を想定) ◦ bash-builtins • 開発言語 ◦ C言語

  4. helloと出力する組み込みコマンドを作る • ソースの場所 ◦ https://github.com/satoru-takeuchi/youtube-sample/tree/master/0042-create-bash-builtin-commands • ビルド方法 ◦ make •

    組み込み方法 ◦ enable -f ./myhello.so myhello • 実行ファイル形式のコマンドとの性能比較 ◦ ./bench.sh
  5. 組み込みコマンド自作機能についての私見 • 面白いけど、あまり使う場面はなさそう • 性能向上するケースが限られる ◦ コマンド実行コストのほとんどがプロセスの生成コスト ◦ コマンドが大量に呼ばれる •

    C言語のソースを書いてメンテするのが面倒 • 使う前にいちいち組み込むのが面倒
  6. まとめ • bashの組み込みコマンドは自作できる • 面白いが使い道は限られる • 📝 興味ある方はbash-builtinsのドキュメントを参照 ◦ /usr/share/doc/bash-builtins/examples/