我在bash脚本中声明了一个hashmap,其值取决于我的环境变量。
export test_ENVIRONMENT=1
if [ -z "$test_ENVIRONMENT" ]; then
echo "Environment variable test_ENVIRONMENT is not set."
exit 1
fi
echo $test_ENVIRONMENT;
hashmap["1"]="1"
hashmap["2"]="2"
MySql="select distinct url as urls from t where
REGION=${hashmap["$test_ENVIRONMENT"]}
and visitday >= TO_DATE(SYSDATE-5,'DD-MON-YYYY')
AND visitday <= TO_DATE(SYSDATE, 'DD-MON-YYYY')
order by urls ;"
echo $mySql
exit;
我使用不同的test_environment值
运行脚本三次export test_environment=1
export test_environment=2
export test_environment=1
最后两次,我的区域值设置为2而不是1。
即在为test_envoironment设置不同的值时,第二个值始终会覆盖初始值。我在这里错过了什么吗?
答案 0 :(得分:1)
您应该检查bash --version
。
Associative array
。