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(シェル引数) |