電子書籍の厳選無料作品が豊富!

bashです。
環境変数に例えば以下の変数が設定されているとします。
VAL1="aaa"
VAL2="bbb"

aというファイルに以下が記載されているとします。
${VAL1}
${VAL2}

aというファイルを読み込んだ際に、
${VAL1}を"aaa"、${VAL2}を"bbb"と読み替えて読み込む方法はありますか。

変数のパターンは事前に分からないので、
'${VAL1}'を"aaa"に置換する、とかの方法はなしです。

evalを使えばうまくいきそうな気がするのですが、うまくいきませんでした。
> cat a | eval
⇒何も出力されない。

何か分かる方教えてください。

A 回答 (1件)

以下のシェルを作成して、実行してください。


aのファイルを読み込み、${VAL1}を"aaa"、${VAL2}を"bbb"と読み替えて、出力するスクリプトです。
------------------------------
#! /bin/sh
while read LINE
do
eval VARNAME=$LINE
echo $VARNAME
done < a
------------------------------
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!