LINUX.ORG.RU

Получить переменные из строки

 


0

1

Необходимо из строки/списка получить переменные и возможности одновременно с ними работать. Допустим:

#!/bin/bash

random=`echo $((RANDOM%100))`

prp=«30 60 10»

for z in $prp

do

....... done

Мне необходимо вычесть из рандомного числа сначала 30, далее из разности этих чисел 60 и тд. Ломаю голову не могу понять как это сделать.



Последнее исправление: hes74 (всего исправлений: 1)

random=`echo $((RANDOM%100))`

random="$((RANDOM % 100))"

Мне необходимо вычесть из рандомного числа сначала 30, далее из разности этих чисел 60 и тд. Ломаю голову не могу понять как это сделать.

let random-=z

sshvabodka
()
Ответ на: комментарий от Black_Shadow

Да действительно, стало лучше. А подскажите, еще вот, каждый раз за 1 итерацию при вычитание из рандома переменной $z, надо проверить что разность <=0 Пробую вот так #!/bin/bash

random=«$((RANDOM%100))»

prp=`cat /home/albnk/FL/conf |awk '{print $1}'`

for z in $prp do

let «random -= z»

if [ «$random» -le «0» ]

then

echo Yes

fi

echo No

done

hes74
() автор топика
Ответ на: комментарий от sshvabodka

А не подскажите, как можно остановить цикл, или возможно использовать другой цикл, когда мы попадем под первое совпадение <= 0 ?

hes74
() автор топика

RANDOM%100

На всякий случай напомню, что это не совсем равномерное распределение.

anonymous
()
a='30 60 10'
b=($a)
echo ${b[2]}
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.