simudaru's blog

Python, Rなどのメモを残していこうと思います。  よろしくお願いいたします。

【bash】設定ファイルの読み込み

bashでの設定ファイルの読み込み

以下のようなファイルを用意し、
「.」で実行することで変数を読み込む

X="Hello World!"

シェルスクリプトを読み込んで実行しているので、
変数だけでなく、処理を記載することもでき便利。
反面、安全性は高くないかも。

# ---------------------------------------------------------
# 引数に設定ファイルを与え、設定ファイルを読み込むコードの雛形
# ---------------------------------------------------------
set -eu

WKDIR=`pwd`
THISFILENAME=`basename $0`
THISFILEDIR=$(cd $(dirname $0) && pwd)
NARGS=1

if [ $# -ne ${NARGS} ]; then
  echo "USAGE: sh ${THISFILENAME} confFile" 1>&2
  exit 1
fi

# ---------------------------------------------------------
# 設定ファイル読み込み
. $1

# 設定ファイルで変数が設定されているか確認
# ---------------------------------------------------------
echo $X > /dev/null

# ---------------------------------------------------------
# Main
echo $X

「set -u」により設定されていない変数を使うとエラー終了することを利用し、設定変数で必要な変数が設定されているかを確認している。
もっといい方法あるかも。