Код: Выделить всё
set -x
ARRAY=()
start=$1
end=$2
step=$3
host=$4
#cmd="{$1..$2..$3}"
#c=$cmd
#for num in $c; do ARRAY+=("${host}${num}"); done
for (( num=$start; num<=$end; num+=$step )); do
ARRAY+=("${host}${num}")
done
echo ${ARRAY[@]}
Хочу сделать скрипт, который бы за меня генерировал хосты: host01 host02 host03 или server1 server2 server3
Пример.
./hostreg 01 10 1 backup
backup01 backup02 backup03 backup04 backup05 backup06 backup07 backup08 backup09 backup10
Столкнулся со следующей проблемой,
C-стильный for сокращает 01 до 1, а обычная конструкция
Код: Выделить всё
for num in {01..10..1}; do ARRAY+=("backup${num}"); done
не позволяет вместо себя добавить переменные, то есть
Код: Выделить всё
for num in {$start..$end..$step}
Точнее, они заменяются, но for считает их одним целым и делает в итоге: echo 'backup{01..10..1}'
Какие способы есть обхода?
Спасибо.