我正在尝试通过shell脚本阅读Xcode构建设置,即如果有一个名为PRODUCT_NAME的构建设置,我通过在shell脚本中编写echo ${PRODUCT_NAME}
来读取其值。
现在,我将这个PRODUCT_NAME设置为一个数组,让我们只调用一个元素PRODUCT_NAME来调用myArr。我将该数组循环为
for i in "${myarr[@]}"
do
:
echo $i
done
echo $i
只会输出PRODUCT_NAME。但是,我想写一些评估$ {PRODUCT_NAME}并给我结果的内容。
我还尝试了eval echo $i
,但也只输出了PRODUCT_NAME
答案 0 :(得分:-1)
使用
解决了这个问题
echo "${!i}"
第二行根据需要提供输出。我从这里得到了这个答案:How to get a variable value if variable name is stored as string?
答案 1 :(得分:-1)
当我解释你的问题时,你持有变量数组,并且在遍历时,你想要使用变量的实际值。
我尝试了下面的代码,它与您编写的代码几乎相似,似乎有效。
#!/bin/bash
PRODUCT_NAME="Calendar"
PROCUCT_VER="2.3"
PROCUCT_OWNER="Sam"
PRODUCT_DETAILS=( $PRODUCT_NAME $PROCUCT_VER $PROCUCT_OWNER )
for PRODUCT_PROPERTY in "${PRODUCT_DETAILS[@]}"
do
echo "PRODUCT_PROPERTY: $PRODUCT_PROPERTY"
done
输出:
PRODUCT_PROPERTY:日历
PRODUCT_PROPERTY:2.3
PRODUCT_PROPERTY:Sam