シェルのシンプル・サンプル
シェル(Shell)のプログラムのやりかたを良く失念するのでこれをメモします。
シンプルなサンプルその1
#!/bin/sh # 簡単シェルサンプル echo '実行にユーザーの確認を求める場合の記述。' 1>&2 echo -n '処理を開始するには ENTER キーを押下してください。' 1>&2 read KEY # ここに実際の処理 echo '○○処理を開始します。' 1>&2 echo -n '.' sleep 1 echo -n '.' sleep 1 echo -n '.' sleep 1 echo -n '.' sleep 1 echo '.' # 処理を終了します。 echo '○○処理を終了します。' 1>&2 echo '処理は正常終了しました。戻り値は 0 です。' 1>&2 exit 0
シンプルなサンプルその2
#!/bin/sh # 簡単シェルサンプル。その2 readonly TARGET_DIR=/tmp/igaiga/20140121 # ここに実際の処理 echo '○○処理を開始します。' 1>&2 echo 'ディレクトリ['${TARGET_DIR}']を作成します。' 1>&2 mkdir -p ${TARGET_DIR} # 処理を終了します。 echo '○○処理を終了します。' 1>&2 echo '処理は正常終了しました。戻り値は 0 です。' 1>&2 exit 0
ポイント
- 変数の参照は${NAME}形式にしましょう。
シンプルなサンプルその3
#!/bin/sh # 簡単シェルサンプル。その3 readonly TARGET_DIR=/tmp/igaiga/20140121 # ここに実際の処理 echo '○○処理を開始します。' >&2 echo 'ディレクトリ['${TARGET_DIR}']を作成します。' 1>&2 mkdir ${TARGET_DIR} if [ $? -ne 0 ]; then echo '[mkdir] ディレクトリ作成に失敗しました。' 1>&2 echo '処理は異常終了しました。戻り値は 101 です。' 1>&2 exit 101 fi echo '[mkdir] ディレクトリ作成に成功しました。' 1>&2 # 処理を終了します。 echo '○○処理を終了します。' >&2 echo '処理は正常終了しました。戻り値は 0 です。' 1>&2 exit 0
ポイント
- コマンドの戻り値をチェックし、問題があれば異常終了しましょう。