Unixシェル
 構成・方式
    シェル指定
    コメント
    出力
    入力
    シェルの切替
    一行の扱い
    シェル変数
    初期設定
    位置パラメータ
    特殊文字
    置換
    演算子
    比較
    if条件
    switch条件
    ループ
    ワイルドカード
    隠しファイル
    クォート
    セパレータ
    シェル関数
    組込コマンド
    ヌルコマンド
    ドットコマンド 
 シェルスクリプト
 シェルサンプル

 シェル指定(#!)
#!/bin/sh (B シェル)
 コメント(#)
 出力(echo)
 入力(read)

 シェルの切替
sh 又は、 /bin/sh
以下は、Bシェルでの説明など

 一行の扱い
 ・Unixのコマンドは改行で完結
一つのコマンドは一行に書く必要がある。
改行はコマンドのセパレータ
 ・改行コードを無視させる場合
バックスラッシュを入れて改行
プロンプトに替わり、「>」などを表示
 ・連続している複数のスペースやTABは一個のスペースに替わる。

 シェル変数
 ・半角英数字とアンダーバーを使用できる。
 ・変数をアクセスする場合、変数名の前に$を入れる。又は$入れて変数を{}で囲む。
 ・一つの変数に一つの値を保存
 ・readonlyを用いて変数の値を上書きされないようにできる。
 ・unsetを用いて変数を削除できる。(readonly変数は削除できない。)
 ・特別な変数     $0     スクリプト名     $1 ~ $9 引数、1番目の引数を$1、2番目の引数を$2、・・・でアクセス     $#     スクリプトに与えた引数の数     $*      全部の引数をまとめて1つとして処理     $@     全部の引数を個別として処理     $?      直前実行したコマンドの終了値(0は成功、1は失敗)     $$      このシェルスクリプトのプロセスID     $!      最後に実行したバックグラウンドプロセスID
 シェル変数の初期設定
 ・${variable:=value}
 ・${variable:-value}
 ・${variable:?message}
 ・${variable:+value}

 位置パラメータ

 特殊文字
 ・文字列として使うときは \ を書いてから使う。
* ? [ ' " ` \ $ ; & ( ) | ~ < > # % = スペース タブ 改行

 変数値の置換

 演算子

 比較 (TRUEを返す。)     -eq イコール        [ "$a" -eq "$b" ]     -ne 異なる         [ "$a" -ne "$b" ]     -gt  より大きい       [ "$a" -gt "$b" ]     -lt  より小さい       [ "$a" -lt "$b" ]     -ge より大きいか同じか [ "$a" -ge "$b" ]     -le  より小さいか同じか [ "$a" -le "$b" ]      !  ではない        [ ! "$a" -gt "$b" ]     -z  文字列が空か    [ -z "$a" ]     -n  文字列が空か    [ -n "$a" ]
 if条件(testコマンド)  ・ファイル (TRUEを返す。)     -f 普通のファイル  ・文字列 (TRUEを返す。)>     -n string 長さが0より大きい
 #switch条件

 ループ

 ワイルドカード
 ・ファイル名を補完する。

 隠しファイル
 ・ドットで始まる。

 クォート (クォーテーション)
 ・勝手に解釈させない。

 コマンドセパレータ
 ・セミコロン、パイプ、バックグラウンドでの実行
 ・OR演算子
左のコマンドが失敗時に、右のコマンドを実行
 ・AND演算子
左のコマンドが成功時に、右のコマンドを実行

 シェル関数

 組込みコマンド
 ・(:) (.) (break) (cd) (continue) (echo) (eval) (exec)
  (exit) (export)(pwd) (read) (readonly) (return) (set) (shift)
  (test) (trap)(type) (umask) (unset) (wait)

 ヌルコマンド(:)
 ・実行終了ステータスは常に真(0)著者、パラメータの判定

 ドットコマンド(.)
 ・新しいプロセスを作らず現行のシェルプロセスを使いファイル読込