Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

bash windows

1 view
Skip to first unread message

Mariusz Marszałkowski

unread,
Dec 23, 2009, 9:36:17 PM12/23/09
to
Heya

Jak zrobić w bashu pod windows coś, co w C wygląda tak:

int i = 0;

const char *param1[] = {"text1","text2","text3",....,"textN"};
const char *param2[] = {"dupa1","dupa2","dupa3",....,"dupaN"};

while( i< sizeof(param1)/sizeof(param1[0]) ) {
printf("polecenie_1 %s %s \n",param1[i],param2[i]);
printf("polecenie_2 %s %s \n",param1[i],param2[i]);
printf("polecenie_3 %s %s \n",param1[i],param2[i]);
i++;
}

Dziękuję z góry i pozdrawiam

Paweł Kierski

unread,
Dec 24, 2009, 5:26:45 AM12/24/09
to
W dniu 2009-12-24 03:36, Mariusz Marsza�kowski pisze:
> Heya
>
> Jak zrobi� w bashu pod windows co�, co w C wygl�da tak:

>
> int i = 0;
>
> const char *param1[] = {"text1","text2","text3",....,"textN"};
> const char *param2[] = {"dupa1","dupa2","dupa3",....,"dupaN"};
>
> while( i< sizeof(param1)/sizeof(param1[0]) ) {
> printf("polecenie_1 %s %s \n",param1[i],param2[i]);
> printf("polecenie_2 %s %s \n",param1[i],param2[i]);
> printf("polecenie_3 %s %s \n",param1[i],param2[i]);
> i++;
> }
>
> Dzi�kuj� z g�ry i pozdrawiam

Koniecznie bash? Mo�e masz Pythona na przyk�ad?

--
Paweďż˝ Kierski
ne...@pkierski.net

Lech Lorens

unread,
Dec 24, 2009, 7:29:14 AM12/24/09
to

man bash /arrays
man bash /arithmetic evaluation
help for

#v+
#!/usr/bin/env bash

param1=(bim1 bim2 bim3 bimN)
param2=(bom1 bom2 bom3 bomN)

echo ${#param1[@]}
echo ${#param2[@]}

for (( i=0; i < ${#param1[@]}; ++i )) ; do
echo polecenie_1 ${param1[$i]} ${param2[$i]}
echo polecenie_2 ${param1[$i]} ${param2[$i]}
echo polecenie_3 ${param1[$i]} ${param2[$i]}
done
#v-

--
Pozdrawiam,
Lech Lorens - lp.pw@snerol_hcel

Mariusz Marszałkowski

unread,
Dec 24, 2009, 10:35:28 PM12/24/09
to
On 24 Gru, 11:26, Paweł Kierski <n...@pkierski.net> wrote:
> W dniu 2009-12-24 03:36, Mariusz Marszałkowski pisze:
>
>
>
> > Heya
>
> > Jak zrobić w bashu pod windows coś, co w C wygląda tak:

>
> > int i = 0;
>
> > const char *param1[] = {"text1","text2","text3",....,"textN"};
> > const char *param2[] = {"dupa1","dupa2","dupa3",....,"dupaN"};
>
> > while( i<  sizeof(param1)/sizeof(param1[0])  ) {
> >    printf("polecenie_1 %s %s \n",param1[i],param2[i]);
> >    printf("polecenie_2 %s %s \n",param1[i],param2[i]);
> >    printf("polecenie_3 %s %s \n",param1[i],param2[i]);
> >    i++;
> > }
>
> > Dziękuję z góry i pozdrawiam
>
>    Koniecznie bash? Może masz Pythona na przykład?

Czy koniecznie bash windows? Oczywiście niekoniecznie.
Musi być jak najprościej.... może powinienem w C napisać,
bo najlepiej znam. Ale pod windows są same problemy, nie
wiem np. jaki jest odpowiednik funkcji "openproces"

Pozdrawiam

Grzegorz Niemirowski

unread,
Dec 25, 2009, 11:32:35 AM12/25/09
to
Mariusz Marsza�kowski <mmar...@gmail.com> napisa�(a):
> Czy koniecznie bash windows? Oczywi�cie niekoniecznie.
> Musi by� jak najpro�ciej.... mo�e powinienem w C napisa�,
> bo najlepiej znam. Ale pod windows sďż˝ same problemy, nie

> wiem np. jaki jest odpowiednik funkcji "openproces"
> Pozdrawiam

Chcesz dostaďż˝ uchwyt do procesu?

Pod Windows generalnie polecam PowerShell. Ma bardzo du�e mo�liwo�ci i
sk�adni� podobn� do perla. Mo�na w nim korzysta� z .NET a przez niego pewnie
te� z WinAPI je�li w�asnie o funkcj� WinAPI Ci chodzi�o. Ale nie wiem po co
Ci uchwyt do procesu.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 2 days, 5 hours, 51 minutes and 0 seconds

Grzegorz Niemirowski

unread,
Dec 25, 2009, 12:34:32 PM12/25/09
to
Mariusz Marsza�kowski <mmar...@gmail.com> napisa�(a):
> Heya
> Jak zrobi� w bashu pod windows co�, co w C wygl�da tak:

> int i = 0;
> const char *param1[] = {"text1","text2","text3",....,"textN"};
> const char *param2[] = {"dupa1","dupa2","dupa3",....,"dupaN"};
> while( i< sizeof(param1)/sizeof(param1[0]) ) {
> printf("polecenie_1 %s %s \n",param1[i],param2[i]);
> printf("polecenie_2 %s %s \n",param1[i],param2[i]);
> printf("polecenie_3 %s %s \n",param1[i],param2[i]);
> i++;
> }
> Dzi�kuj� z g�ry i pozdrawiam

W PowerShellu (wbudowany w Windows 7, na starsze mo�na doinstalowa�):
$param1 = ("tekst1", "tekst2", "tekst3");
$param2 = ("dupa1", "dupa2", "dupa3");
for ($i=0; $i -lt $param1.length; $i++) {
write-host "polecenie_1" $param1[$i] $param2[$i];
}

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/

Uptime: 2 days, 6 hours, 19 minutes and 23 seconds

Mariusz Marszałkowski

unread,
Dec 26, 2009, 5:11:29 AM12/26/09
to
On 25 Gru, 18:34, "Grzegorz Niemirowski" <gnthexfi...@poczta.onet.pl>
wrote:
> Mariusz Marszałkowski <mmars...@gmail.com> napisał(a):
>
> > Heya
> > Jak zrobić w bashu pod windows coś, co w C wygląda tak:

> > int i = 0;
> > const char *param1[] = {"text1","text2","text3",....,"textN"};
> > const char *param2[] = {"dupa1","dupa2","dupa3",....,"dupaN"};
> > while( i< sizeof(param1)/sizeof(param1[0])  ) {
> >   printf("polecenie_1 %s %s \n",param1[i],param2[i]);
> >   printf("polecenie_2 %s %s \n",param1[i],param2[i]);
> >   printf("polecenie_3 %s %s \n",param1[i],param2[i]);
> >   i++;
> > }
> > Dziękuję z góry i pozdrawiam
>
> W PowerShellu (wbudowany w Windows 7, na starsze można doinstalować):

> $param1 = ("tekst1", "tekst2", "tekst3");
> $param2 = ("dupa1", "dupa2", "dupa3");
> for ($i=0; $i -lt $param1.length; $i++) {
>     write-host "polecenie_1" $param1[$i] $param2[$i];
>
> }

Wygląda sympatycznie, chyba doinstaluję.
Dzięki

0 new messages