ShellScript
ShellScript Tips
シェルスクリプト コーディングスタイル
ShellScript echo 色付ける
ShellScript 変数格納一覧
ShellScript が落ちた時にスクリプトを止める
setコマンドオプション一覧
set euxについて
setコマンドを先頭に記載する
#!/bin/bash -eu # とするか
set -eu # を書いておく
set -euox pipefail
-e : エラーがあったらシェルスクリプトをそこで打ち止めにする。exit 0
以外が返ってきた場合、止まるようになる。
-u : 未定義の変数使用時、打ち止めにしてくれる。
-v : シェルの入力行を表示する
-o : 設定したシェルオプションを「on」と表示する
-x : トレース情報としてシェルが実行したコマンドとその引数を出力する。
Shellで毎回困る、ifの条件文一覧
シェルスクリプト 例 外処理
たいていの高級なプログラミング言語では例外処理をしなければプログラムが終了する。 しかし、シェルスクリプトではエラーが発生しても後続の処理が普通に実行される。
コマンドのlogを表示させたくない
> /dev/null 2>&1
をつけるとログが表示されない
改行コードを反映し出力する
OSを分別する
if [ "$(uname)" == 'Darwin' ]; then
OS='Mac'
elif [ "$(expr substr $(uname -s) 1 5)" == 'Linux' ]; then
OS='Linux'
elif [ "$(expr substr $(uname -s) 1 10)" == 'MINGW32_NT' ]; then
OS='Cygwin'
else
echo "Your platform ($(uname -a)) is not supported."
exit 1
fi
シェルスクリプトを作成するにあたり
まず使用するシェルを決める必要がある。
シェルスクリプト値共有(サブシェルとか考慮しなくて良いなど)
データをファイルに出力するテクニックが結構使われる。