bashスクリプトで処理するために必要なtxtファイルから変数を取得するには?

bashスクリプトで処理するために必要なtxtファイルから変数を取得するには?

setup.txt次のデータを含むtxtというファイルがあります。

DSN=ZXP.SOURCE
PATH=/z/zxp/20211015
SCHEMA=ZXP
URL=https://zxp-support.mybluemix.net/contest/4q21/contact-sheet
OUTPUT=OUTPUT(RESULT)
REPORT=q421report

このファイルをスクリプトにパラメータとして渡す必要がありますが、シェルスクリプトの初心者としてこのファイルを使用するとエラーが発生し、ファイルsource setup.txt内のすべてを実行しているようです。

input="$1"
source $1

if [ $# -ne 1 ]
  then
    printf "Usage Example: ./q421droop5.sh setup.txt \n\n"

    exit 1
fi
if test -f "$input"; then
    echo "$input exists."
    content=$(cat $input
fi
echo $DSN
echo $SCHEMA #echoing the variables give me errors

変数にどのようにアクセスしますか?

ベストアンサー1

mapfile以下を使用できますdeclare

$ mapfile -t a < setup.txt
$ declare "${a[@]}" 
$ echo "$DSN"
ZXP.SOURCE
$ echo "$SCHEMA"
ZXP

おすすめ記事