Перезапись значений hashmap в bash - PullRequest
0 голосов
/ 05 февраля 2012

Я объявил hashmap в моем bash-скрипте, значение которого зависит от переменной среды.

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

  1. export test_environment=1
  2. export test_environment=2
  3. export test_environment=1

В последние два раза значение моего региона установлено на 2, а не 1.

т.е. при установке различных значений для test_envoironment, второе значение всегда перезаписывает начальное значение. Я что-то здесь упускаю?

1 Ответ

1 голос
/ 06 февраля 2012

Вы должны проверить, поддерживается ли bash --version.

Associative array после bash 4.0 .

...