скрипт linux / shell - PullRequest
       14

скрипт linux / shell

1 голос
/ 28 января 2009

Я написал программу, которая генерирует индекс параметра для 2 переменных. Скажем, a и b в шагах 5. Как это я должен сделать для 23 переменных. Поэтому я не хочу писать 23 цикла for, как я могу превратить его в один цикл for, общий для всех 23 переменных. Я надеюсь, что это можно сделать с помощью массива, но я не знаю, как реализовать это с помощью программы. Не могли бы вы помочь мне?

Программа:

int z, p
float a, b
float  a0, an, s, a1, b0, bn, b1
str var
s=5; a0=1; an=10; b0=8; bn=13     // s= steps, a0, b0= initial  value, an,bn=final value
z=0

a1=(an-a0)/s
b1=(bn-b0)/s

for (a=(a1+a0);a<=an;a=a+a1)   
for (b=(b1+b0);b<=bn;b=b+b1)
echo {z} {a} {b}  -format "%25s" >> /home/genesis/genesis-2.3/genesis/Scripts/kinetikit/dhanu19.txt
z=z+1
end
end

output : dhanu19.txt
                        0                      2.8                        9
                        1                      2.8                       10
                        2                      2.8                       11
                        3                      2.8                       12
                        4                      2.8                       13
                        5                      4.6                        9
                        6                      4.6                       10
                        7                      4.6                       11
                        8                      4.6                       12
                        9                      4.6                       13
                       10                      6.4                        9
                       11                      6.4                       10
                       12                      6.4                       11
                       13                      6.4                       12
                       14                      6.4                       13
                       15                      8.2                        9
                       16                      8.2                       10
                       17                      8.2                       11
                       18                      8.2                       12
                       19                      8.2                       13
                       20                       10                        9
                       21                       10                       10
                       22                       10                       11
                       23                       10                       12
                       24                       10                       13

Ответы [ 3 ]

3 голосов
/ 28 января 2009

Рассматривали ли вы написание сценария или программы для написания сценария для вас? Генерирование shell-скриптов, а затем их запуск могут иногда быть мощным решением проблем.

0 голосов
/ 28 января 2009

Давайте предположим, что вы пишете цикл 23 для. Если у вас есть 5 шагов для каждого цикла, вы получите параметр 5 ^ 23!

Давайте предположим, что каждый цикл выводит 1 байт, вам все еще нужно хранить что-то вроде 10 ^ 16 байт или десять тысяч терабайт. Я думаю, вы должны пересмотреть свою проблему или переформулировать свой вопрос

Редактировать: Это не форумы (а в форумах вы можете редактировать свой пост). Пожалуйста, отредактируйте свой вопрос вместо того, чтобы публиковать новый ответ, я думаю, что это интересно

0 голосов
/ 28 января 2009

К какой оболочке вы обращаетесь? Объявление массивов имеет некоторые синтаксические различия между zsh, bash или около того ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...