bash の基本的な操作と、簡単な文法についてはユーザ編
「3章.シェル概要」にて解説していますので、そちらを参照してください。
ここでは実際のシェルスクリプトを例題とし、
プログラミング・テクニックを中心に解説します。
| # | 行数 | 名称 | 概要 | 主な bash テクニック | 利用コマンド |
|---|---|---|---|---|---|
| 001 | 7 | calc | 簡単な電卓 | ヒアドキュメント | bc |
| 002 | 17 | dice | サイコロ | 乱数, 数値演算 | if, while, $RANDOM |
| 003 | 9 | repeat | ジョブを繰り返す | シェルの実行(評価) | eval, shift, let |
| 004 | 9 | where | CDPATHからディレクトリを探す | 列挙型for, IFS 変数 | for/in, $IFS |
| 005 | 10 | dtree | ディレクトリをツリー表示 | 改行のエスケープ | find, sort, sed |
| 006 | 5 | shf | 文字列検索 | エスケープシーケンス | sed, shift |
| 007 | 64 | esc | テキストの色変更 | 同上、オプション処理、関数 | getopt |
| 008 | 19 | scale | 桁位置スケールの表示 | 定数回の繰り返し | while, for |
| 009 | 13 | fbiff | ファイル生成の見張り | ループの中断 | while/brek, wait |
| 010 | 25 | wdate | 世界時計 | タイムゾーンの変更 | $TZ, case, printf |
| 011 | 24 | txtana | テキストファイルの統計情報 | awk との連携 | awk, pr |
| 012 | 18 | allip | 同一ネットワークのホスト一覧 | コマンド実行結果の解析 | ifconfig, sed, awk, ping, arp |
| 013 | 30 | clean | ワークファイルの削除 | 複雑な find, 関数 | find, set(シェル引数) |
| 014 | 7 | digx | IPアドレスからホストの逆引きを行う。 | find, set(シェル引数) | |
| 015 | 7 | myinfo | 実行環境の表示 | 体裁を整えた出力 | printf, uname |
| 016 | 25 | just | テキストの片寄せ | 体裁を整えた出力 | printf, getopt |
| 017 | 36 | htbl | テキストのHTML TABLEタグへの変換 | printf, getopt | |
| 018 | 147 | bkup | ファイルのバックアップ(別名履歴管理) | find, set(シェル引数) |