以下のコードは私の問題を示しています。最初は過度に単純化したようです。
#!/bin/bash
dogLover=1
catLover=2
for ii in dog cat
do
petLover=${ii}Lover
echo (evaluate $petLover)
done
犬や猫ではなく、1と2の値を返すコードが欲しいです。おそらくこれは簡単ですが、オンラインで行う方法がわからないようです。
私にとって本当に必要なのは、matlabの「eval」コマンドに対応するbashです。
ベストアンサー1
Bourne または POSIX シェルで逆参照するには、次のようにします。
dogLover=1
ii=dog
eval "petLover=\${${ii}Lover}"
echo "$petLover"