LINUX.ORG.RU

bash скриптинг - подстановка генерируемого диапазона

 , ,


0

1

Появилась необходимость использования в скрипте диапазона чисел, границы которого заранее неизвестны - сторого говоря это конструкция `echo {$a..$b}`, где a < b, и обе переменных вытаскивались sed`ом из текстовых файлов. Конечно можно извратиться и написать скрипт с циклом который сгенерирует мне нужное количество чисел, запишет их в одну длииииинную переменную через пробел, а потом выплюнет в аргумент вызваной мною функции... Но это как-то не красиво.

Сначала я столкнулся с тем, что результаты SED`а BASH считал текстом и не хотел выполнять с этими переменными никаких мат. операций, но это можно обойти хотябы назначением переменной (var=`sed ...`) или экспортом из файла (export `cat ...`). Научите, люди добные, с BASH`ем обращаться.

Помимо поднятой темы интересует вот что: можно-ли сменить тип переменной со «слова» на «число», чтобы работать с переменной дальше как с числом?

★★

как то так

#!/bin/sh

let a=$(echo 5)+5
echo $a

outsider ★★
()
Ответ на: комментарий от zzdnx

seq точно не поможет?

теперь я чувствую себя нубом XD Спасибо - это то, что надо!

zzdnx ★★
() автор топика

Помимо поднятой темы интересует вот что: можно-ли сменить тип переменной со «слова» на «число», чтобы работать с переменной дальше как с числом?

В баше разницы между словом и числом нет

start=`echo 123ds | sed -e 's/ds//'`
end=321

for i in `seq $start $end`; do
   ...
end
derlafff ★★★★★
()
Последнее исправление: derlafff (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.