0

タイトルがわかりにくかったらすいません。readしたがって、次のように、ユーザーから変数 (この例では $A) を取得するために使用した後、bash で変数をエコーし​​ようとしています。

foobar="good"
A=bar
B="\$foo$A"
echo $B

しかし、echoing $B の出力は、"good" ではなく "$foobar" であり、これが私が望むものです。最後に使ってみeval $Bたのですが、「いい」は命令じゃないって言われただけです。eval $(echo $B)どちらも機能しませんでした。また、「良い」はコマンドではないこともわかりました。echo $(eval $B)また、「良い」はコマンドではなく、空の行も出力すると言われました。

これを行う必要がある理由を明確にするために: foobar は文字列 "good" を含む変数であり、foobaz は "bad" を含む変数であり、ユーザーが "bar" または "baz" のいずれかを入力してエコーされる文字列を選択できるようにしたい" プログラムの実行中read A(この例では、この質問をより理解しやすくするために A をバーとして割り当てただけです)。

この作業を行う方法や関連するヒントを教えていただければ幸いです。

4

1 に答える 1