LINUX.ORG.RU

История изменений

Исправление medossa, (текущая версия) :

for a in {1..5}; do 
   var${a}="$RANDOM"
done
---
bash: var1=17509: команда не найдена
bash: var2=32432: команда не найдена
bash: var3=29156: команда не найдена
bash: var4=22541: команда не найдена
bash: var5=24053: команда не найдена

с eval

for a in {1..5}; do 
   eval var${a}="$RANDOM"
done
---
echo $var3
28285
Тут становится интересно. Вроде var${a} стандартная конструкция. Почему интерпретируется как команда?
UPD. Туплю) Переменная не объявлена это раз, обращение без $)

Исходная версия Deleted, :

for a in {1..5}; do 
   var${a}="$RANDOM"
done
---
bash: var1=17509: команда не найдена
bash: var2=32432: команда не найдена
bash: var3=29156: команда не найдена
bash: var4=22541: команда не найдена
bash: var5=24053: команда не найдена

с eval

for a in {1..5}; do 
   eval var${a}="$RANDOM"
done
---
echo $var3
28285
Тут становится интересно. Вроде var${a} стандартная конструкция. Почему интерпретируется как команда?